Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebug:如何查看对象的附加事件?_Javascript_Firebug - Fatal编程技术网

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

Javascript Firebug:如何查看对象的附加事件?,javascript,firebug,Javascript,Firebug,我使用addEventListener将一些事件附加到一些div。但是我在哪里可以看到Firebug中的事件呢?不要认为Firebug在这方面有很好的功能。您可能需要查看。如果使用jQuery,然后安装,它会在HTML DOM面板上显示每个元素的所有绑定事件。非常有用的补充。可能值得一提的是Firebug 1.12引入了getEventListeners(target)。Firebug wiki页面就是这样,还有一篇非常有用的博客文章 (Firebug 1.12仅在2013年8月发布,因此在最初

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

不要认为Firebug在这方面有很好的功能。您可能需要查看。

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

可能值得一提的是Firebug 1.12引入了
getEventListeners(target)
。Firebug wiki页面就是这样,还有一篇非常有用的博客文章

(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 post)可以检索事件,但是
getEventListeners
显示为未定义。如果运行
getEventListeners
但报告某个对象没有侦听器,则此错误与您得到的返回值不同,因此我认为您可以毫无恐惧地使用
getEventListeners
,因为如果它还不可用,这一点很明显

此外,它还显示您存储的任何数据,并在控制台上提供一个“jqueryify”按钮,用于将当前版本的jQuery注入到您正在查看的页面中,这非常有用。谢谢。FireQuery是一个非常好的工具,对于任何使用带有Firebug的jQuery的web开发人员来说都是值得一提的。。。我使用的是最新版本的jQuery,但我看不到该扩展的任何内容。