【发布时间】:2013-08-20 09:44:13
【问题描述】:
我正在调试一个网页,并且想要一种方法来暂停元素的 oonclick 处理程序的 JS 执行,我真的不知道谁是处理程序或何时注册处理程序。
在任何浏览器调试器上是否有类似暂停按钮(例如在 Visual Studio 中)的东西,一旦触发用户事件就会暂停 JS 执行?
谢谢
【问题讨论】:
标签: javascript debugging event-handling
我正在调试一个网页,并且想要一种方法来暂停元素的 oonclick 处理程序的 JS 执行,我真的不知道谁是处理程序或何时注册处理程序。
在任何浏览器调试器上是否有类似暂停按钮(例如在 Visual Studio 中)的东西,一旦触发用户事件就会暂停 JS 执行?
谢谢
【问题讨论】:
标签: javascript debugging event-handling
除了 Ian Clark 对使用 Firebug 的回答外,在 Chrome 中,您可以转到“开发者工具”窗口 (F12) 中的 Sources 选项卡,并且那里有用于调试的控件。
【讨论】:
是的,我个人最喜欢的是Firebug for Firefox。在“脚本”选项卡上,您可以单击暂停按钮“下一个中断”,您还可以做其他好事,例如浏览 HTML(使用“HTML 选项卡”),右键单击选择器并选择 属性更改/子添加或删除/元素删除时中断。 当我真的不知道哪个脚本干扰了我的 DOM 时,我倾向于使用它。
唯一要记住的是,例如,如果您在 mouseover 上的 document 级别有一个事件,则“下一个休息”之类的内容几乎没有意义,因为您将不断休息.
您还可以查看finding all logged events 的一些解决方案,但我认为没有一种简单的方法可以在不直接调用 JavaScript 的情况下询问 JavaScript“什么点击事件绑定到该 DOM 元素”。如果您使用的是 jQuery,那么正如this 答案所建议的那样,它确实会变得更容易一些。
【讨论】: