【问题标题】:How can I monitor all custom events emitted in the browser?如何监控浏览器中发出的所有自定义事件?
【发布时间】:2011-08-24 11:33:38
【问题描述】:

我想监控在网络浏览器中触发的所有自定义事件。任何标准浏览器都可以。

明确地说,我知道您可以附加事件处理程序以查看何时触发“通常”事件,但我如何可靠地检测嵌入式对象或 jQuery 脚本是否触发自定义事件?

我可以重构浏览器源代码来挂钩事件循环,但这似乎相当极端。

【问题讨论】:

  • 如果你愿意,你可以重构浏览器源代码吗?尊重:)
  • 查看this question - 这是关于常规事件类型的,但它可能有用...

标签: javascript browser dom-events


【解决方案1】:

我想监控在网络浏览器中触发的所有自定义事件。

我不认为你可以。 DOM 事件模型通过为特定事件类型设置侦听器来工作,因此如果您不知道事件的类型,则无法侦听它。没有办法监听所有事件,例如没有addEventListener('*',...)

另外,您不知道如何调用 custom 事件。他们可能不会将事件分派到 DOM 中(例如,某些库实现了自己的事件注册和处理系统),因此即使您可以跟踪事件的分派,也没有一般的方法可以知道何时调用事件侦听器。

一些库也模拟事件冒泡,但同样,除非你知道事件的类型,否则你无法监听它。

但是,您可以实现自己的事件管理系统并实现一个函数来侦听设置了侦听器的所有事件或使用您的系统分派的事件。

【讨论】:

    猜你喜欢
    • 2011-03-30
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 2017-03-07
    相关资源
    最近更新 更多