Показать сообщение отдельно
  #1 (permalink)  
Старый 15.01.2021, 14:37
Новичок на форуме
Отправить личное сообщение для VladislavK_ Посмотреть профиль Найти все сообщения от VladislavK_
 
Регистрация: 15.01.2021
Сообщений: 3

Удаление прослушивания события
Здравствуйте, столкнулся с такой проблемой.
Я понимаю, что через removeEventListener можно удалить события, который мы установили через addEventListener.
Но там же есть нюанс, что туда мы передаём функцию:
Ну то есть, если бы писали так:
cell.addEventListener(‘click’, someFunc)
......
cell.removeEventListener(‘click’, someFunc)
Тогда да, оно бы сработало.

Но если будет анонимная функция, то мы не сможем удалить(например)
cell.addEventListener(‘click’, ()=> console.log(‘hello world’))
......
cell.removeEventListener(‘click’, ....?) // тут уже без вариантов

———————————-

Но как поступить, если в ту функцию, которую мы должны выполнять при триггере события, нам нужно передать ещё параметр

Ну то есть:
cell.addEventListener(‘click’, func(param))
Так не сработает(просто сразу же выполнится)

Можно например сделать так:
cell.addEventListener(‘click’, () => func(param)) чтобы переедать параметр
Но как в таком случае нет возможности удалить прослушивание.


Может есть какой-то способ, чтобы я мог и передавать параметры в функцию колбэка
Но и потом смог удалить прослушивание этого события.
Ответить с цитированием