gpt4 book ai didi

javascript - 如果您不知道元素的 id 或类,如何查找/调试所有 jQuery 事件绑定(bind)的列表

转载 作者:行者123 更新时间:2023-11-28 02:41:54 25 4
gpt4 key购买 nike

我使用 click() 动态添加了 jQuery 单击事件-功能:

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

我意识到您可以使用 data attribute 来查找事件:

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

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

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

如果您不知道他们的 ID 或类(class),那么如何找到他们?

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

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

Chrome Developer Tools view, stopped at a breakpoint http://imageshack.us/a/img138/1209/findclickfunction.png

For a single known element see: How to debug JavaScript/jQuery event bindings with Firebug (or similar tool)

最佳答案

简单,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.' );

...然后等待崩溃。实际上,这速度快得惊人。

您也可以在附加事件时添加一个类。那么您就不再搜索每个事件,而是搜索类。

关于javascript - 如果您不知道元素的 id 或类,如何查找/调试所有 jQuery 事件绑定(bind)的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12514263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com