Как я могу удалить этот тип слушателя?
document.addEventListener("onSomething", function(){
//Do something
});
при попытке удалить исключение аргумента возвращаемого номера, функция во втором параметре, но у меня нет функции.
document.removeEventListener("customUploadComplete")



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно сделать ссылку на функцию, чтобы удалить ее. Так что вытащите его в функцию, чтобы вы могли его удалить.
var thisThing = function(){
//Do something
}
document.addEventListener("onSomething", thisThing);
document.removeEventListener("onSomething", thisThing);
Вам нужно объявить функцию, чтобы удалить ее. Это потому, что вам нужно ссылаться на него при удалении, чтобы браузер мог распознать, какое событие нужно удалить.
Так не пойдет:
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>
Прибыл слишком поздно :-) @ JG73 Кстати, это именно то, что вам нужно сделать!