【发布时间】:2013-01-17 04:52:14
【问题描述】:
我是一个 JS 菜鸟,想成为一个 JS 怪物,这意味着大量的调试。
我正在使用 Chrome 调试器工具。摆在我面前的是一大堆意大利面条式的 JS 代码,看起来像是要破译的达芬奇的代码。我需要调试它并了解正在发生的事情。本质上,我想找出 .js 文件中的哪个函数在特定事件上被调用。为此,我设置了 'Event Listener Breakpoints' 以记录任何鼠标单击事件。当我点击有问题的按钮时,这就是我得到的:
如您所见,调试器确实暂停了相应 jQuery 函数上的脚本,该函数即将在这一轮事件中执行。不幸的是,这对于所有基于 jQuery 的函数来说都是非常通用的,并且对事情没有多大帮助。我真正感兴趣的是我的 JS 文件中触发 jQuery 函数的函数,而不是 jQuery 库中调用的函数。
插图:
$('#myButton').live('click', function(){
$('#popUpMenu').close();
});
这是调试浏览器事件的正确方法吗? 如果这还不够清楚,请让我详细说明。
【问题讨论】:
-
如果您的函数触发了 jQuery 函数,您应该能够通过堆栈跟踪向后导航到您的函数(顺便说一句。您的调用堆栈在哪里)。但在我看来,jQuery 函数已经注册并被浏览器调用。
标签: javascript jquery debugging browser google-chrome-devtools