我仍然无法相信这是不可能的,但是有一种方法可以循环访问dom并查看使用'addEventListener'附加的所有事件处理程序.这篇文章和许多其他人说没有.
如果是这种情况,那么Chrome的检查员或Firebug等应用程序如何显示它们,他们会这样做?我猜他们可能会以某种方式增加dom的方法,以便他们可以跟踪绑定的内容.
Emi*_* A. 30
Chrome控制台有一个方法可以帮助您检查dom节点是否注册了任何事件侦听器,例如检查附加到文档节点的事件侦听器使用:
https://developers.google.com/chrome-developer-tools/docs/commandline-api#geteventlistenersobject
getEventListeners(document);
Run Code Online (Sandbox Code Playgroud)
您可以递归遍历所有dom节点,并根据需要查找所有事件处理程序.
当然浏览器内部有一个事件监听器列表,但它没有暴露给页面级JavaScript.例如,Firebug(或Eventbug)可能使用nsIEventListenerInfo.
话虽这么说,这个旧答案仍然成立:
如何在DOM节点上找到事件监听器?