jQuery + DevTools:如何快速获取附加到元素的事件处理程序

时间:2014-06-19 20:46:25

标签: javascript jquery firebug google-chrome-devtools firebug-lite

我问这个问题是因为我目前正在处理的项目中有大量40K +非结构化jQuery代码。即使对此代码库进行最智能的搜索也无法回答最简单的问题,如

  

"如果点击此红色按钮会怎样?"

意思是它不能指向我在凌乱的代码中设置的事件处理程序。

在代码库中搜索选择器对我没有帮助,我得到了300多个搜索结果。

我知道有' Event Listeners' DevTools中的选项卡,但它指向jQuery代码中的一行,所以我完全没有使用它至少我不知道如何

可以有一个很好的解决方案 - 在DevTools中按下暂停,所以如果你点击那个红色按钮,DevTools跳转到当前执行的代码行(jQuery事件处理程序),你可以在一些之后挖掘你的处理程序痛苦地迭代jQuery库)。但有人添加了大量setInterval(... , 100)mouseover的横幅,这让我没有机会在这里使用这个技巧......

(也许有一种方法可以从jQuery的深层获取一系列事件处理程序???)

所以,我需要在

中找到该功能集

$('#my.red button')。click(function(){/ * bla * /});

我相信朋友们应该有救援。

我需要一种非常省时的方法/技术,因为我需要每天执行数百次搜索。

PS:如果处理程序是使用$.live设置的,该怎么办?

1 个答案:

答案 0 :(得分:1)

Firebug 2.0Events side panel内有一个HTML panel,如果启用了 Show Wrapped Listeners 选项,则可以显示用户定义的函数。< / p>

Show Wrapped Listeners option

包装的函数前面有一个箭头。