Document.removeEventListener javascript

Как я могу удалить этот тип слушателя?

document.addEventListener("onSomething", function(){
  //Do something
});

при попытке удалить исключение аргумента возвращаемого номера, функция во втором параметре, но у меня нет функции.

 document.removeEventListener("customUploadComplete")
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
2 242
2

Ответы 2

Вам нужно сделать ссылку на функцию, чтобы удалить ее. Так что вытащите его в функцию, чтобы вы могли его удалить.

var thisThing = function(){
  //Do something
}

document.addEventListener("onSomething", thisThing);
document.removeEventListener("onSomething", thisThing);

Прибыл слишком поздно :-) @ JG73 Кстати, это именно то, что вам нужно сделать!

S. Bureau 19.09.2018 17:15

Вам нужно объявить функцию, чтобы удалить ее. Это потому, что вам нужно ссылаться на него при удалении, чтобы браузер мог распознать, какое событие нужно удалить.

Так не пойдет:

btn.addEventListener("click", function() { alert("clicked") });
btn.removeEventListener("click", function() { alert("clicked") });

потому что нет ссылки на функцию. Каждая функция уникальна, даже если у них один и тот же код.

Если вы объявляете функцию, вы можете сохранить ссылку на эту функцию, а затем удалить ее:

function clickEvent() {
  alert("clicked!");
}
btn.addEventListener("click", clickEvent);
btn.removeEventListener("click", clickEvent);

Вот пример:

let $ = document.querySelector.bind(document),
  btn = $("#b1"),
  add = $("#b2"),
  remove = $("#b3");

function clickEvent() {
  alert("click");
}

btn.addEventListener("click", clickEvent);

remove.addEventListener("click", function() {
  btn.removeEventListener("click", clickEvent);
   alert("event removed!");
});

add.addEventListener("click", function() {
  btn.addEventListener("click", clickEvent);
  alert("event added!");
});
<button id = "b1">click me</button>
<p/>
<button id = "b2">Add Event Listener</button> <button id = "b3">Remove Event Listener</button>

Другие вопросы по теме