我问这个问题是因为我目前正在处理的项目中有大量40K +非结构化jQuery代码。即使对此代码库进行最智能的搜索也无法回答最简单的问题,如
"如果点击此红色按钮会怎样?"
意思是它不能指向我在凌乱的代码中设置的事件处理程序。
在代码库中搜索选择器对我没有帮助,我得到了300多个搜索结果。
我知道有' Event Listeners' DevTools中的选项卡,但它指向jQuery代码中的一行,所以我完全没有使用它(至少我不知道如何)
可以有一个很好的解决方案 - 在DevTools中按下暂停,所以如果你点击那个红色按钮,DevTools跳转到当前执行的代码行(jQuery事件处理程序),你可以在一些之后挖掘你的处理程序痛苦地迭代jQuery库)。但有人添加了大量setInterval(... , 100)
和mouseover
的横幅,这让我没有机会在这里使用这个技巧......
(也许有一种方法可以从jQuery的深层获取一系列事件处理程序???)
所以,我需要在
中找到该功能集$('#my.red button')。click(function(){/ * bla * /});
我相信朋友们应该有救援。
我需要一种非常省时的方法/技术,因为我需要每天执行数百次搜索。
PS:如果处理程序是使用$.live
设置的,该怎么办?
答案 0 :(得分:1)
Firebug 2.0在Events side panel内有一个HTML panel,如果启用了 Show Wrapped Listeners 选项,则可以显示用户定义的函数。< / p>
包装的函数前面有一个箭头。