我们如何找到附加到 DOM 元素的所有事件

Posted

技术标签:

【中文标题】我们如何找到附加到 DOM 元素的所有事件【英文标题】:How can we find all the events attached to a DOM element 【发布时间】:2019-09-09 04:01:39 【问题描述】:

我们需要找到附加到特定 DOM 元素的所有事件。例如,如何找到附加到 YouTube 搜索输入标签的所有事件?我试过了:

$._data( $("#tabieBrowser")[0], "events" );

它适用于某些网站,但大多数情况下它不起作用。如果网站没有,我也尝试包含 jQuery。

var script = document.createElement('script');
script.src = '//code.jquery.com/jquery-1.11.0.min.js';
document.getElementsByTagName('head')[0].appendChild(script);

【问题讨论】:

我想你说的不是events,而是event handlers,对吧? 我认为没有可靠的方法可以做到这一点:***.com/a/18116524/11342676 是的所有事件处理程序@trincot How to find event listeners on a DOM node using javascript的可能重复 【参考方案1】:

仅在 Chrome 上,您可以使用 getEventListeners(element) 查找所有活动的事件侦听器以及它们正在侦听的事件。

【讨论】:

以上是关于我们如何找到附加到 DOM 元素的所有事件的主要内容,如果未能解决你的问题,请参考以下文章

dojo:哪些事件附加到元素?

如何删除所有附加到 HTML 元素的事件

如何将事件附加到 DOM 的所有节点? [关闭]

jQuery 在附加到 DOM 之前从元素中生成变量

如何为附加到元素的每个事件侦听器打印或迭代? [复制]

使用 JQuery ajax 在 DOM 操作后附加事件