5

即使两者都做同样的事情,我只是想知道使用一个比另一个有什么特定的优势?

Event.observe(window, "load", function(){
//do something
});

window.onload = function(){
//do something
}
4

2 回答 2

11

不同之处在于window.onloadDOM 级别 0 事件模型中定义的,并且将清除所有早期注册的事件。这是来自旧 API 的“本机”调用。

Event.observe原型 javascript 框架将确定可用的最佳事件附件。门面图案。在现代浏览器中,addEventListener将被调用 -attachEvent如果 Internet Explorer 版本低于 9。在旧浏览器中,onload将被调用。

很明显,外观将选择可用的最佳选项,例如Event.observe原型或.loadjQuery 的情况。

DOM 级别 2 事件模型中的方法优于 DOM 级别 0 事件模型方法,因为它们充当观察者并且不会删除以前的处理程序。

于 2012-10-12T12:41:26.177 回答
0

阅读 quirksmode.org 对events 的介绍传统模型高级模型之间的区别在于需要包装器,因为 M$ 不支持/不支持 W3 标准,需要进行区分。

于 2012-10-12T12:45:51.437 回答