【发布时间】:2013-12-20 10:26:45
【问题描述】:
我正在使用“事件侦听器”来检查附加到我的 DOM 对象的事件。但是,当使用 jQuery 附加事件时,我看到的只是 jquery-1.8.3.min.js,有没有办法解决这个问题?
【问题讨论】:
标签: jquery debugging google-chrome
我正在使用“事件侦听器”来检查附加到我的 DOM 对象的事件。但是,当使用 jQuery 附加事件时,我看到的只是 jquery-1.8.3.min.js,有没有办法解决这个问题?
【问题讨论】:
标签: jquery debugging google-chrome
在开发者工具设置中的框架黑盒中添加 jQuery 和 Chrome 扩展。
Chrome Developer Tools > Settings (F1) > General > Manage framework blackboxing...
选中 Blackbox content scripts 以禁用 Chrome 扩展上的断点,并将 /.*jquery.*\.js$ 添加到应该被黑盒化的 URI 模式中。
现在在开发者工具的Sources 选项卡中打开右侧的Event Listener Breakpoints 列表,并选中您要在其中中断脚本的事件,这将停止在您编写的要附加的脚本上执行脚本使用 jQuery 的事件。
另一种对库进行黑盒化的快速方法是在Sources 选项卡中的Call Stack 中右键单击其名称。当您添加事件侦听器断点时,它将显示出来。
【讨论】:
当您使用 jQuery 附加事件处理程序时,jQuery 函数就是实际附加为事件处理程序的函数(然后在事件发生时它会调用您的事件处理程序函数)。所以,如果你查看一个通用调试器,这就是它要告诉你的,这就是你所看到的。
对于调试器,jQuery 只是 javascript,它向您展示了 javascript 附加了事件处理程序的内容。对于 jQuery 事件处理程序,无法让调试器向您显示不同的内容。
jQuery 库本身具有以编程方式查询哪些 jQuery 事件处理程序附加到给定对象的方法。如何做到这一点因 jQuery 版本而异,但您通常可以在这里看到它是如何工作的:Can I find events bound on an element with jQuery?
【讨论】: