removeEventListener不知道该函数

问题描述 投票:20回答:3

某些第三方插件会将eventListener附加到站点中。如何在不知道附加功能的情况下删除eventListener。

我引用了此removeEventListener,但是我没有任何线索来删除它。

例如:getEventListeners(window)显示附加的事件。但是,当我尝试使用window.removeEventListener("eventname")删除事件时,在不知道该功能的情况下无法正常工作。

[请帮助,在此先谢谢。

javascript jquery event-listener
3个回答
18
投票

[getEventListeners(window)将返回事件及其注册的事件侦听器的映射。

例如,对于DOMContentLoaded事件,您可以有许多事件侦听器。如果知道要删除的侦听器的索引(或者只有一个),则可以执行以下操作:

var eventlistener = getEventListeners(window)["DOMContentLoaded"][index];
window.removeEventListener("DOMContentLoaded", 
                           eventlistener.listener,
                           eventlistener.useCapture);

7
投票

很遗憾,您不能这样做。您需要引用事件处理程序功能,以便通过removeEventListener删除它。

如果您无法获得该参考文献,您的唯一选择就是完全替换该Node


0
投票

我有相同的问题,并以不同的方式解决了。

$("#myelement").after($("#myelement")[0].outerHTML).remove()
© www.soinside.com 2019 - 2024. All rights reserved.