【问题标题】:Catch all DOM events on a page (without Firebug et. al.)捕获页面上的所有 DOM 事件(没有 Firebug 等)
【发布时间】:2011-02-03 10:05:48
【问题描述】:

我将如何创建一个跨浏览器脚本,该脚本将拦截 所有 触发的事件
页面/浏览器窗口/DOM 树(无论浏览器如何)?

我希望完成的基本上是更好地了解不同的处理方式 不同浏览器中的事件;我知道基本理论,但需要看到才能相信......

添加
我非常精通使用框架和使用“纯”Javascript。

我想要的是:

document.addEventListener('*', function(e){  
alert(e.type + ' is happening on ' + e.target), false);  
};

【问题讨论】:

  • 并非所有浏览器都支持所有事件。您是否正在寻找所有浏览器共有的事件?只有 w3c 定义的事件?或者您是否对特定于浏览器的事件部分感兴趣(例如 IE 中的 onpropertychange、FF 中的 DOMAttrModified 等)?
  • 所有事件,我的兴趣主要是因为想要比较它们的处理方式(如果不一定通过相同的方式/事件)。

标签: javascript dom cross-browser dom-events


【解决方案1】:

您唯一能做的就是找出所有存在的事件并创建一个控件列表,每个控件都有不同的事件,然后相应地标记它们和一些警报框。

然后您可以开始触发事件并根据警报框查看它们是如何执行的。

在未来的编码中,您还可以使用一个 JavaScript 库,该库基本上会更改几乎所有现有的 JS 代码和函数,因此它们都是跨浏览器的。

示例是(优先顺序):

MooTools

JQuery

不是必需的,但在跨浏览器和创建精美控件时让生活变得更加简单。

【讨论】:

  • 我个人更喜欢 Mootools,尽管 JQuery 更受欢迎。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多