Firebug:如何查看对象的附加事件?

时间:2010-11-18 12:13:55

标签: javascript firebug

我使用addEventListener将一些事件附加到某些div。但是我在哪里可以看到Firebug中的事件?

3 个答案:

答案 0 :(得分:12)

如果您使用的是jQuery,那么安装FireQuery,它会在每个元素的HTML DOM面板上显示所有绑定事件。非常有用的补充。

答案 1 :(得分:7)

值得一提的是,Firebug 1.12引入了getEventListeners(target)。它的Firebug维基页面为here,并且有一篇非常有用的博客文章here

(Firebug 1.12仅在2013年8月发布,所以这个问题的答案在最初发布时是正确的。)

但是,getEventListeners有几点需要注意:

首先,如果你传递一个jQuery对象,它将无法工作;传递给普通的DOM对象。 (也许这很明显,但它让我感到震惊!)

其次,我发现如果在页面上的所有代码都加载之前运行它,getEventListeners并不总是有效。我不确定它到底有什么用,但是我确实看到过这样的情况:

>>> getEventListeners(document.getElementById('elementid'))
ReferenceError: getEventListeners is not defined
>>> $._data(document.getElementById('elementid'), "events");
Object { click=[1]}

正如您所看到的,“longhand”方法(来自链接到答案的SO帖子)可以检索事件,但getEventListeners显示为未定义。此错误与getEventListeners运行时获得的返回值不同,但报告对象没有侦听器,因此我会说您可以毫无顾虑地使用getEventListeners,因为如果它是显而易见的,那将是显而易见的还没有!

答案 2 :(得分:1)

不要认为Firebug具有良好的功能。你可能想看here