1

我使用click() -函数动态添加了 jQuery 点击事件:

$("#elementId").click(function() {
    debugger;
    //Some code
});

我意识到您可以使用data 属性找到事件:

$('#elementId').data("events");

但是,如果您想动态地找到它们(如果有的话)怎么办?例如

<div id="containerWithComplexStructure">
    //Some elements with .click events may be in here
</div>

如果您不知道他们的 id 或 class ,您如何找到他们?

您可以通过Chrome 开发者工具框架(或类似工具)访问它们,能够浏览它们的变量等吗?

与此类似(点击图片放大):

Chrome 开发者工具视图,在断点处停止 http://imageshack.us/a/img138/1209/findclickfunction.png

对于单个已知元素,请参阅:如何使用 Firebug(或类似工具)调试 JavaScript/jQuery 事件绑定

4

1 回答 1

1

简单,console.log( jQuery('#elementId').data('events') );在您的代码中;

或者只是jQuery('#elementId').data('events');在控制台中。

查看所有元素的事件:

var elements_with_events = 0;
$('*').each(function(i,e){

    if($(e).data('events')){
        console.log( $(e) );
        console.log( $(e).data('events') );
        elements_with_events++;
    }

});
console.log( elements_with_events + ' elements have events.' );

...并等待崩溃。实际上,这工作得非常快。

您也可以在附加事件时添加一个类。那么你不是在搜索每个说的事件而是类。

于 2012-09-20T14:01:07.993 回答