removeEventListener不知道该函数
某些第三方插件会将eventListener
附加到站点中。 如何在不知道附加的函数的情况下删除eventListener。
我引用了这个removeEventListener,但我无法获得删除它的任何线索。
例如: getEventListeners(window)
显示附加的事件。 但是,当我尝试使用window.removeEventListener("eventname")
尝试删除事件时,如果不知道该函数,则无法正常工作。
请帮助,提前致谢。
getEventListeners(window)
将返回事件映射及其注册的事件侦听器。
因此,对于DOMContentLoaded
事件,您可以拥有许多事件侦听器。 如果您知道要删除的侦听器的索引(或者只存在一个),则可以执行以下操作:
var eventlistener = getEventListeners(window)["DOMContentLoaded"][index]; window.removeEventListener("DOMContentLoaded", eventlistener.listener, eventlistener.useCapture);
不幸的是,你做不到。 您需要具有对事件处理函数的引用,以便通过removeEventListener
将其删除。
如果您无法获得该引用,那么您唯一的选择就是完全替换该Node
。