我正在尝试学习 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/