代码之家  ›  专栏  ›  技术社区  ›  Florian Müller

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

  •  7
  • Florian Müller  · 技术社区  · 14 年前

    我用 addEventListener . 但是在哪里可以看到Firebug中的事件呢?

    3 回复  |  直到 11 年前
        1
  •  7
  •   Sam    10 年前

    可能值得一提的是,Firebug 1.12引入了 getEventListeners(target) . 它的Firebug wiki页面是 here ,还有一篇非常有用的博文 here .

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

    不过,有几个注意事项 getEventListeners :

    首先,如果传递给它一个jQuery对象,它将不起作用;而是传递给它一个普通的DOM对象。(也许这是显而易见的,但它抓住了我!)

    其次,我发现 获取事件侦听器 如果在页面上的所有代码都加载之前运行它,则不总是有效的。我不确定它什么时候起作用,什么时候不起作用,但我确实看到过这样的情况:

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

    如您所见,“longhand”方法(从应答中链接到的SO post)可以检索事件,但是 获取事件侦听器 显示为未定义。这个错误与返回值不同,如果 获取事件侦听器 运行但报告对象没有侦听器,因此可以使用 获取事件侦听器 不用担心,如果还没有的话就很明显了!

        2
  •  12
  •   Orbling    14 年前

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

        3
  •  1
  •   Community Egal    7 年前

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