我正在尝试调试一个大量使用事件的网页,因此我需要监视所有被触发的事件。
大多数事件都是使用 jQuery 绑定的。因此,如果有一种方法可以专门监视这些事件,那将特别有用。
我正在尝试调试一个大量使用事件的网页,因此我需要监视所有被触发的事件。
大多数事件都是使用 jQuery 绑定的。因此,如果有一种方法可以专门监视这些事件,那将特别有用。
当然,您可以使用Firebug、控制台和脚本选项卡来添加断点和监视,但显然您希望做得更智能/更容易。
有一个名为EventBug的简洁 Firebug 插件,它只记录所有事件并按事件类型对它们进行分组,以便您可以展开并查看是什么触发了它们。
EventBug 不会实时执行,但您必须刷新。
另一种方法是对 Firebug 中的任何 DOM 元素使用“日志事件”功能。这确实是实时的,您还可以看到触发/触发了哪些订单事件。
试试这个:
<body>
Log Events
从上下文菜单中选择Closed
(手动)这是您在日志事件中看到的内容:
同样值得尝试 Firebug 的FireQuery插件,以查看 DOM 中的哪些元素附加了 jQuery 事件以及它们是什么。
正如本维的回答所提到的,这在 webkit 的开发人员工具中也是可能的。
这已在某些版本之前引入,但从 Firefox 35 开始,与元素关联的事件可以在 Inspector 上看到:在您想要查看事件的元素旁边(如果有的话)将有一个带有 ' 的图标EV' 字母。单击它,您将看到一个包含该元素事件的小弹出窗口。
更多信息: http: //flailingmonkey.com/view-dom-events-in-firefox-developer-tools/
我相信这在 Firebug 中不存在,根本问题是在 api 级别缺乏支持或缺乏曝光。或者,除了可观察和可拦截的“onevent”属性之外,只有几种方法可以订阅 DOM 事件:Element.prototype.addEventListener(以及 window.addEventListener 和 document.addEventListener 和 XMLHttpRequest.addEventListener 等)。
但实际上,WebKit 调试器和 Chromium 的调试器(这是 webkit 的加分项)允许调试和观察附加的侦听器。有时更容易在另一个浏览器中调试一个浏览器的错误,从而更好地暴露应用程序/运行时状态,即使该浏览器没有显示错误。
https://developers.google.com/chrome-developer-tools/docs/elements