Задать вопрос
@SergeiB

Как снять обработчик события?

Есть функция вида
function closeOnEscapePress(modal, e) {
  if (e.keyCode === 27) {
    closeModal(modal);
  }
}

Вешаю следующий обработчик:
document.addEventListener('keydown', closeOnEscapePress.bind(null, modal));

Как его удалить? Так не работает:
document.removeEventListener('keydown', closeOnEscapePress.bind(null, modal));
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
bind создает новую функцию, необходимо запомнить ее.

const closeOnEscapePress = closeOnEscapePress.bind(null, modal);

document.addEventListener('keydown', closeOnEscapePress);
document.removeEventListener('keydown', closeOnEscapePress);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы