dom - 跨标准化浏览器事件的 JavaScript 文档

标签 dom cross-browser dom-events w3c web-standards

我正在尝试学习 JavaScript 并发现这项任务在某些方面有点困难。目前我正在研究跨主要浏览器的事件支持。就事件而言,似乎有两种一般风格:(1) Microsoft 方式,和 (2) 标准化方式。

我知道 IE 8 不支持 DOM 级别 2 事件,但 IE 9 预计会支持 DOM 级别 3 事件。在 Microsoft 方面,存在一个独特的 DHTML Events 列表。 . event object 的描述也可用。

以标准化的方式,我将没有官方规范的 DOM 级别 0 支持和由 W3C 编写的 DOM 级别 2 事件聚集在一起。除了 MSIE 之外,所有主流浏览器都普遍遵循这种标准化方式,即:Firefox、Chrome、Safari 和 Opera。每个标准化浏览器都有不同级别的文档,围绕其对事件的支持,如以下链接所示。

DOM 级别 0 事件

Gecko DOM Event Handlers

Safari HTML Reference: Supported Attributes

HTML, XHTML, and WML in Opera Presto 2.8

没有关于 Chrome 的信息。

DOM 级别 2 事件

W3C DOM Level 2 Specification

Gecko DOM Events (貌似不全)

Other Gecko DOM Events

Gecko DOM Event Object

WebKit Standards Support Targets (隐含在高层次上覆盖 Chrome 和 Safari)

DOM 2 UI, Mouse & Mutation Events support in Opera Presto 2.8

可以说跨标准化浏览器的文档是可互操作的吗?我知道 Quirksmode Compatibility Tables关于此类信息。但是,当遇到问题时,我很难感到安慰,并希望有一些我可以依靠的细节。在这一点上,我还想排除库(例如 Jquery 等)。

最佳答案

不。浏览器中的关键事件有很多变化,像 jQuery 这样的大库只规范了它的最低限度(在我看来是正确的)。处理不一致的唯一方法是向那些以艰苦的方式学习的人学习。我发现的按英里计算的最佳资源是 Jan Wolter 的这个页面:http://unixpapa.com/js/key.html .准确且相当全面。

关于dom - 跨标准化浏览器事件的 JavaScript 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5630510/

相关文章:

javascript - 如何在 Chrome 扩展上模拟按键事件

javascript - 使用 addEventListener 获取附加到节点的事件监听器

javascript - 用于检查页面高度的 jquery 代码似乎无法正常工作

javascript - XSLT - 将 Javascript 放在 DOM 的末尾

javascript - 打印 iframe 内容

css - 什么时候需要使用供应商前缀?

javascript - 如何通过 JavaScript 使用定时事件显示然后隐藏消息?

javascript - 元素传播

Javascript:在存在其他嵌套标签的范围内获取纯文本

javascript - 用户脚本在 Firefox 中有效,但 Chrome 给出 : Uncaught TypeError: Cannot read property 'length' of null