@zlodiak

Как отвязать событие от элемента?

Я сделал на основе класса меню. Пункты меню реагируют на нажатия клавиш. После нажатия определенной клавиши я хотел бы чтобы клавиши больше не реагировали на действия пользователя

JSFIDDLE

Для этого я создал 2 функции на основе: addEventListener и removeEventListener

Проблема в том, что эти функции должны ссылаться на одну и ту же процедуру(в моём случае это _keysListen() ), но у меня внутри этой процедуры теряется this. Помогите пожалуйста исправить ситуацию.
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Назначайте в качестве обработчика функцию с привязанным контекстом. Создавайте её прямо в конструкторе, берёте метод из прототипа и под тем же именем создаёте свойство у экземпляра класса:

constructor(initObj) {
  this._keysListen = this._keysListen.bind(this);
  ...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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