Не удаляется Eventlistener, объявленный в цикле

    function roleDescription() {
        // вторая ступень = описание роли при наведении, выбор роли при клике
        for (let i = 0; i < originDescription.length; i++) {
          buttons[i].addEventListener('mouseover', asignDesc.bind(buttons[i], i));
          buttons[i].addEventListener('click', asignRole.bind(buttons[i], i), {
            once: true
          });
        }
      }
    
      function asignRole(i) {
        playerrole = role[i];
        alert(playerrole);
        makeSpecial();
      }
function makeSpecial() {
    // третья ступень - подтирание следов от выбора роли, смена кнопок на другие
    for (let i = 0; i < originDescription.length; i++) {
      buttons[i].removeEventListener('click', asignRole.bind(buttons[i], i), {
        once: true
      });
    }

Вызов eventListener внутри цикла работает великолепно. но его удаление после нажатия на одну из кнопок не работает. в asignRole(); вписан вызов функции, который удаляет eventListener с эффектами hover и click, но тот почему-то не срабатывают. Почему?


Ответы (0 шт):