首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不知道函数的情况下使用removeEventListener

在不知道函数的情况下使用removeEventListener
EN

Stack Overflow用户
提问于 2014-11-10 22:00:16
回答 2查看 15.3K关注 0票数 27

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

我引用了这个removeEventListener,但我找不到任何线索来删除它。

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

请帮忙,提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-10 22:14:35

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

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

代码语言:javascript
复制
var eventlistener = getEventListeners(window)["DOMContentLoaded"][index];
window.removeEventListener("DOMContentLoaded", 
                           eventlistener.listener,
                           eventlistener.useCapture);
票数 22
EN

Stack Overflow用户

发布于 2014-11-10 22:06:42

不幸的是,您不能这样做。您需要具有对事件处理程序函数的引用,以便通过removeEventListener将其删除。

如果您无法获得该引用,您唯一的选择就是完全替换该Node

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26845535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档