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