pandaa
@pandaa

Почему не получается удалить событие?

function func(e){
  console.log(e.target.id);
}
 
//Назначаю событие
document.body.addEventListener('click', function (e) {
func(e);
});

// И сразу его удаляю
document.body.removeEventListener('click', function (e) {
func(e);
});
//Но функция продолжает работать

В чем ошибка?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
(function(e) {}) === (function(e) {}) // false

Хотя код функций идентичен – они не равны, т.к. сидят в разных областях памяти.

Как починить:
function func(e) {
  console.log(e.target.id);
}
 
// Назначить событие
document.body.addEventListener('click', func);

// И сразу его удалить
document.body.removeEventListener('click', func);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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