有没有办法找到哪些事件处理程序附加到给定的DOM节点?
例如,当您单击“添加注释”链接时,会附加一个事件处理程序,其中显示注释表单。现在,如果我有一个DOM文档(一个网页),并希望列出一个特定节点的所有事件处理程序,有没有办法做到这一点?
(我怀疑JS在页面内运行是不可能的; FF中的浏览器扩展是否可以访问这些数据?)
答案 0 :(得分:11)
Chrome(我怀疑Safari)可以在您选择DOM中的元素时显示附加的事件侦听器,然后向下滚动右侧边栏到“事件侦听器”部分。在那里,您可以看到附加了哪些功能。
我目前没有Firebug的副本,但我怀疑DOM标签在Firefox中也显示类似的信息。
答案 1 :(得分:9)
在Chrome中,您可以使用getEventListeners
。
getEventListeners($0)
应返回将事件名称映射到其处理程序的对象。请注意,$0
是special dev tools variable,它始终指向“元素”标签中选择的最后一个元素。
答案 2 :(得分:1)
在Chrome中:
这将显示哪些事件处理程序附加到该元素。
(Krof的答案本来可以写得更清楚。)