我正在基于 javascript 的系统中使用一些遗留代码(不祥的音乐),并且此遗留代码添加了这样的事件监听器
foo.addEventListener("click",function(){
//do some stuff
});
有没有办法让我以编程方式删除这样添加的事件监听器?我知道removeEventListener ,但是从文档中并不清楚如何(如果有的话)删除程序员通过匿名函数添加的监听器。
最佳答案
据我所知,如果您想调用 removeEventListener
,则不能使用匿名函数,因为您需要引用与 addEventListener
使用的同一函数code> 唯一的方法是为函数命名(例如,不是匿名的)。
类似的问题和结论在这里:removeEventListener on anonymous functions in JavaScript
<小时/>在不更改代码结构的情况下,您可以为其指定一个名称,然后在以后使用该名称。
foo.addEventListener("click", function fooClickHandler(){
//do some stuff
});
// then later
foo.removeEventListener("click", fooClickHandler);
关于javascript - 删除 DOM 事件观察器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824265/