无法找出按钮点击事件是如何连接的

Can't find out how button click event got wired

我有一个通过 Ajax 回发的按钮。我试图找出单击按钮时执行的代码。我使用 Visual Event(下面的屏幕截图)来查看事件是如何绑定的,但这些信息对我的帮助还不够。然后我在 Chrome 中设置了鼠标点击事件监听器断点。主 jQuery 文件中的断点命中代码也没有帮助。所以我把文件黑盒化了。现在当我点击按钮时,没有命中断点。

查找执行的用户代码的系统方法是什么?我还在整个应用程序中搜索 'live' 和 'click' 作为文本。这很耗时,而且没有找到按钮的点击事件附加到哪里。做这样的搜索是痛苦的。我想知道使用 Chrome 的调试器或其他工具的高效技术。 (换个浏览器的提示就OK了)

您是否尝试过 Chrome 分析器?

  1. 启动 Chrome DevTools (F12)
  2. 转到配置文件面板
  3. 确保选择收集JavaScriptCPU配置文件
  4. 单击开始
  5. 执行你的操作
  6. 单击停止

然后您应该会看到已调用函数的列表。

有几种可能的方法。一种是由用户描述的情绪。另一种方法是使用 DevTools 的调试器。

  1. 打开 Chrome DevTools (F12)
  2. 切换到 来源 面板
  3. 单击 暂停 按钮 () 或按 F8
  4. 执行你的操作

=> 脚本执行将在 jQuery 内的事件处理函数的第一行停止。然后您可以单步执行实际的事件处理函数。

请注意,在 Firebug 中这更容易工作,因为它的 Events side panel 已经显示了包装的侦听器,即由 jQuery 事件侦听器调用的函数: