如何检查附加到元素/文档的任何JavaScript事件监听器/处理程序?

试图在网上search,但看起来不像我可以正确地制定search查询。

所以尽可能简单,我怎么能,无论是使用jQuery或只是列出所有的处理程序或事件侦听器附加到元素(S)/文档/窗口或存在于DOM。

就是想。

先谢谢你。

在1.8之前的jQuery中,尝试使用$("#element").data("events")

编辑:

还有jQuery扩展: listHandlers

在debugging时,如果您想查看是否有事件发生,我build议您使用Chrome的“开发工具”的“ 视觉事件”或“ 元素”部分:select一个元素,并在右下angular查找“事件监听器”

在你的代码中,如果你在版本1.8之前使用jQuery,你可以使用:

 $(selector).data("events") 

得到事件。 从1.8版开始,这个版本已经停止了(见这个bug票 )。 您可以使用:

 $._data(element, "events") 

但不推荐这样做,因为它是一个内部的jQuery结构,并可能在将来的版本中改变。

这个问题有一些可能有用的答案,但没有一个像$(selector).data("events")那样特别优雅。

没有jQuery:

如果使用elem.addEventListener()方法添加侦听器,则列出这些侦听器并不容易。 你可以用自己的方法来覆盖EventTarget.addEventListener()方法。 那么你将得到这些信息,哪些听众被注册了。

 var f = EventTarget.prototype.addEventListener; // store original EventTarget.prototype.addEventListener = function(type, fn, capture) { this.f = f; this.f(type, fn, capture); // call original method alert('Added Event Listener: on' + type); } 

工作示例,您可以在http://jsfiddle.net/tomas1000r/RDW7F/find

我刚刚发现了视觉事件2:

http://www.sprymedia.co.uk/article/Visual+Event+2

在“让它走”部分下,然后拖动文本链接到您的书签工具栏转到有事件的页面,然后单击书签

在FF Mac进行testing