一些第三方插件会将eventListener附加到站点中。如何在不知道附加的函数的情况下删除eventListener。
我引用了这个removeEventListener,但我找不到任何线索来删除它。
例如:getEventListeners(window)显示附加的事件。但是,当我尝试删除事件时,在不知道该函数的情况下使用window.removeEventListener("eventname")是不起作用的。
请帮忙,提前谢谢。
发布于 2014-11-10 22:14:35
getEventListeners(window)将返回事件及其注册的事件侦听器的映射。
例如,对于DOMContentLoaded事件,您可以有许多事件侦听器。如果知道要删除的监听程序的索引(或者如果只存在一个监听程序),则可以执行以下操作:
var eventlistener = getEventListeners(window)["DOMContentLoaded"][index];
window.removeEventListener("DOMContentLoaded",
eventlistener.listener,
eventlistener.useCapture);发布于 2014-11-10 22:06:42
不幸的是,您不能这样做。您需要具有对事件处理程序函数的引用,以便通过removeEventListener将其删除。
如果您无法获得该引用,您唯一的选择就是完全替换该Node。
https://stackoverflow.com/questions/26845535
复制相似问题