Chrome中的jQuery事件调试

Con*_*ell 6 debugging jquery google-chrome

我们有一个非常JS的密集型Web应用程序,主要基于jQuery的live绑定(事实上我们在jQuery v1.7之前就开始实现这一点).

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

有什么方法可以告诉Chrome(或者确实是Firebug或其他扩展程序或书签(最好是免费的!))来破坏jQuery库代码之外的下一个事件处理程序.这样我只需点击按钮,看看哪个事件发射,一步一步看看我何时意外停止传播?

如果没有,有什么理由不是吗?可以这样做吗?

DG.*_*DG. 7

你可能会觉得这很有用:http://www.sprymedia.co.uk/article/Visual+Event+2

Javascript bookmarklet名为Visual Event,可直观地显示页面上有订阅事件的元素,这些事件是什么以及事件在触发时运行的功能......

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


Tho*_*mas 3

在 Chrome DevTools 中,您可以按事件类型设置断点:

https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints#listeners

但您不能排除 jQuery 事件。

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