← Назад к вопросам

Как называется метод, снимающий событие с узла?

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');

Но это считается устаревшим подходом и не рекомендуется использовать в современном коде.

Как называется метод, снимающий событие с узла? | PrepBro