Встречается на собеседованиях • сегодня

Как отписаться от всех слушателей событий, объявленных как анонимные функции

Для отписки от всех слушателей событий, объявленных анонимными функциями, можно использовать removeEventListener(), но только если сохранить ссылку на функцию.

Пример:

javascript
const element = document.getElementById('myElement');
const handler = () => console.log('Clicked!');

// Подписка
element.addEventListener('click', handler);

// Отписка
element.removeEventListener('click', handler);

text

Если функция анонимная (без ссылки), отписаться нельзя. В таком случае:  
1. **Избегайте анонимных функций** — сохраняйте их в переменные.  
2. **Используйте `EventTarget.abortController`** (современный способ):  
```javascript
const controller = new AbortController();
element.addEventListener('click', () => {}, { signal: controller.signal });
controller.abort(); // Отписка
  1. Крайний случай — клонировать элемент или удалить все слушатели через element.replaceWith(element.cloneNode(true)) (не рекомендуется).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы