Chrome中的jQuery事件调试

Chrome中的jQuery事件调试,jquery,debugging,google-chrome,Jquery,Debugging,Google Chrome,我们有一个非常JS密集的web应用程序,主要基于jQuery的绑定(事实上,在jQueryV1.7之前,我们就一直在做这个) Chrome的内置开发工具很棒,但是有一个问题一直在发生,我总是发现用它们调试几乎是不可能的:有时我的live处理程序没有被调用,因为以前的处理程序停止了事件冒泡 我有没有办法告诉Chrome(或者Firebug或其他扩展或bookmarklet(最好是免费的!)在jQuery库代码之外的下一个事件处理程序上中断。通过这种方式,我可以简单地单击按钮,查看触发时发生的事件,

我们有一个非常JS密集的web应用程序,主要基于jQuery的绑定(事实上,在jQueryV1.7之前,我们就一直在做这个)

Chrome的内置开发工具很棒,但是有一个问题一直在发生,我总是发现用它们调试几乎是不可能的:有时我的
live
处理程序没有被调用,因为以前的处理程序停止了事件冒泡

我有没有办法告诉Chrome(或者Firebug或其他扩展或bookmarklet(最好是免费的!)在jQuery库代码之外的下一个事件处理程序上中断。通过这种方式,我可以简单地单击按钮,查看触发时发生的事件,逐步查看何时意外停止传播


如果没有,有没有充分的理由不这样做?可以这样做吗?

在Chrome开发工具中,您可以按事件类型设置断点:

但不能排除jQuery事件


顺便说一句,您应该使用而不是live()

您可能会发现这很有用:

Javascript bookmarklet称为VisualEvent,它直观地显示页面上订阅了事件的元素、这些事件是什么以及触发事件时将运行的函数

事实证明,W3C推荐的DOM接口没有提供任何标准方法来确定哪些事件侦听器连接到特定节点。。。。因此,我们不得不查看各个Javascript库,这些库通常维护附加事件的缓存(以便以后可以删除它们并执行其他有用的抽象)


除了DG响应外,这也是视觉事件的主要原因。完美地工作

我已经尝试过了,正在努力。这将直接进入jQuery库的代码。我似乎找不到jQuery库中调用(或应用)您提供的事件函数的部分。我认为更改为
delegate
也没有任何好处,因为它们都需要位于DOM树的顶部(可能很少有人不需要)。另外,这两个函数现在都不推荐使用。当我们有时间的时候,我们将移动到delegate,它已经被弃用,它已经被“on”取代,因为这个线程是编写的DevTools团队还引入了blackbox脚本的功能,这对类似这样的东西真的很有帮助。看见