← Назад к вопросам
Как называется метод, снимающий событие с узла?
2.3 Middle🔥 181 комментариев
#Soft Skills и рабочие процессы
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI3 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Метод, который снимает событие с узла (или элемента) DOM, называется removeEventListener.
Основной метод: removeEventListener
removeEventListener — это встроенный метод для удаления обработчиков событий с DOM элементов. Синтаксис:
element.removeEventListener(eventType, handler, options);
Параметры
- eventType (string) — тип события ('click', 'change', 'mouseover' и т.д.)
- handler (function) — функция-обработчик, которую нужно удалить
- options (boolean | object) — опциональные параметры (capture, passive, once)
Примеры использования
Базовый пример
// Добавляем слушатель
const handleClick = () => console.log('Клик!');
button.addEventListener('click', handleClick);
// Удаляем слушатель
button.removeEventListener('click', handleClick);
Важное замечание: ссылка на функцию
Чтобы удалить обработчик, нужно сохранить ссылку на ту же функцию, которая была добавлена:
// ❌ Неправильно — функции разные
button.addEventListener('click', () => console.log('Click'));
button.removeEventListener('click', () => console.log('Click')); // не удалится
// ✅ Правильно — сохраняем ссылку
const handleClick = () => console.log('Click');
button.addEventListener('click', handleClick);
button.removeEventListener('click', handleClick); // удалится корректно
С опциями
const handler = (e) => console.log('Capture phase');
// Добавляем с capture: true
button.addEventListener('click', handler, { capture: true });
// Удаляем с теми же опциями
button.removeEventListener('click', handler, { capture: true });
Альтернативный старый способ: removeAttribute
Для inline-обработчиков:
// Удалить inline-обработчик
button.removeAttribute('onclick');
Но это считается устаревшим подходом и не рекомендуется использовать в современном коде.