Answers:
使用Chrome 15.0.865.0开发版。在“元素”面板上有一个“事件侦听器”部分:
在“脚本”面板上还有一个“事件侦听器断点”。使用鼠标->单击断点,然后“进入下一个函数调用”,同时密切注意调用堆栈,以查看哪个userland函数处理该事件。理想情况下,你会用unminified一个替代的jQuery的精缩版,这样你就不必一步所有的时间和使用步过在可能的情况。
{ }
查看js时,只需点按左下角的符号即可。魔法。
您还可以使用Chrome的检查器以另一种方式查找附加事件,如下所示:
它将带您到定义处理程序的位置,如下图所示,并由Paul Irish在此处进行解释:https : //groups.google.com/forum/#!topic/google- chrome-developer-tools/ NTcIS15uigA
安装后,请尝试使用jQuery Audit扩展程序(https://chrome.google.com/webstore/detail/jquery-audit/dhhnpbajdcgdmbbcoakfhmfgmemlncjg):
(截止到2020年)对于Chrome版本83.0.4103.61:
选择要检查的元素
选择“事件侦听器”选项卡
确保检查Framework侦听器以显示真实的javascript文件而不是jquery函数。
编辑:代替我自己的答案,这是一个非常好的:如何使用Firebug(或类似工具)调试JavaScript / jQuery事件绑定
Google Chromes开发人员工具的脚本部分内置了搜索功能
如果您不熟悉此工具:(以防万一)
快速搜索#ID应该最终将您带到绑定功能。
例如:搜寻#foo
会带您前往
$('#foo').click(function(){ alert('bar'); })
2018年更新-可能对将来的读者有所帮助:
我不确定这是最初在Chrome中引入的。但是现在可以在Chrome中完成此操作的另一种(简便)方法是通过控制台命令。
例如:(在铬控制台类型)
getEventListeners($0)
而$ 0是DOM中的选定元素。
https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#0_-_4
findEventHandlers是一个jquery插件,原始代码在这里:https ://raw.githubusercontent.com/ruidfigueiredo/findHandlersJS/master/findEventHandlers.js
脚步
将原始代码直接粘贴到chrome的控制台中(注意:必须已加载jquery)
使用以下函数调用: findEventHandlers(eventType, selector);
查找对应的选择器,指定元素的eventType处理程序。
范例:
findEventHandlers("click", "#clickThis");
然后,如果有的话,可用的事件处理程序将显示以下消息,您需要展开以找到该处理程序,右键单击该函数并选择 show function definition
参见:https : //blinkingcaret.wordpress.com/2014/01/17/quickly-finding-and-debugging-jquery-event-handlers/