【问题标题】:what events are bound?什么事件是绑定的?
【发布时间】:2013-12-09 17:04:55
【问题描述】:

有什么方法可以查看 jQuery 绑定到元素的事件吗?

【问题讨论】:

    标签: jquery events


    【解决方案1】:

    如果您使用的是 Safari 或 Chrome,您可以打开 Developer Tools 并检查元素(通过单击放大镜)。在右侧的Event Listeners 选项卡中,它会告诉您绑定到该元素的事件及其功能和位置。

    或通过代码执行此操作:

    $('selector').data('events'); // get
    console.dir($('selector').data('events')); // display in firefox firebug or webkit's developer tools
    

    【讨论】:

    • 我已更新我的问题以包含一个代码示例以查看附加事件。
    • Chrome的开发者工具会显示jQuery绑定的事件吗?
    • 是的。这是一个屏幕截图:img830.imageshack.us/img830/1372/tmpu.png 我还在我的回答中包含了如何使用 javascript 获取侦听器,因此您不需要使用浏览器控制台。
    • @Adrian - 如果它通过左侧的复选标记回答了您的问题,请确保接受此作为答案:)
    • 这对我不起作用。当我在明确分配了事件的元素上调用 .data('events') 时,我只会得到未定义的返回。知道可能出了什么问题吗??
    【解决方案2】:

    此解决方案在新的 jQuery 版本中已过时。您必须使用:

     $._data($('selector')[0],'events')
    

    【讨论】:

    • 现在也已经过时了。使用$._data($('selector'),'events')
    【解决方案3】:

    如果您在脚本中不需要此元素,您可以在任何 DOM 检查工具(如 Firebug)中检查该元素并查看所有事件。

    【讨论】:

    • 用 Firebug 还能看到 jQuery 绑定了哪些事件吗?
    • 是的,还有其他的。你也可以使用 Chrome/Safari/Opera 开发者工具来做同样的事情。
    • 我一定是盲人,但我在 Firebug 中找不到“事件侦听器”选项卡。我使用 Firebug 1.5.4 和 Firequery。
    • 那么你可以查看这个讨论 - stackoverflow.com/questions/570960/…
    • 事件面板似乎是从 Firefox 3.7a1pre 添加的,而不是在 Firefox 3.6 中。*
    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 2012-01-14
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多