我问这个问题是因为我目前正在处理的项目中有超过 40K 行的非结构化 jQuery 代码。即使对这个代码库进行最智能的搜索也无法回答最简单的问题,例如
“如果我点击这个红色按钮会发生什么?”
这意味着它无法将我指向杂乱代码中设置的事件处理程序。
在代码库中搜索选择器对我没有帮助,我得到了 300 多个搜索结果。
我知道 DevTools 中有“事件监听器”选项卡,但它指向 jQuery 代码中的一行,所以我完全没有使用它(至少我不知道如何使用)。
可能有一个很好的解决方案 - 在 DevTools 中按下暂停,因此如果您单击那个红色按钮,DevTools 会跳转到当前执行的代码行(jQuery 事件处理程序),并且您可以在一些痛苦的迭代之后挖掘您的处理程序jQuery 库)。但是有人添加了很多带有setInterval(... , 100)
andmouseover
的横幅,让我没有机会在这里使用这个技巧......
(也许有一种方法可以从 jQuery 的深处获取一系列事件处理程序???)
所以,我需要找到设置的功能
$('#my.red button').click(function() { /* bla */ });
我相信应该有救援,朋友们。
我需要一种非常省时的方法/技术,因为我需要每天执行数百次这种搜索。
PS:如果处理程序是使用设置的$.live
呢?