即使两者都做同样的事情,我只是想知道使用一个比另一个有什么特定的优势?
Event.observe(window, "load", function(){
//do something
});
window.onload = function(){
//do something
}
即使两者都做同样的事情,我只是想知道使用一个比另一个有什么特定的优势?
Event.observe(window, "load", function(){
//do something
});
window.onload = function(){
//do something
}
不同之处在于window.onload
DOM 级别 0 事件模型中定义的,并且将清除所有早期注册的事件。这是来自旧 API 的“本机”调用。
Event.observe
原型 javascript 框架将确定可用的最佳事件附件。门面图案。在现代浏览器中,addEventListener
将被调用 -attachEvent
如果 Internet Explorer 版本低于 9。在旧浏览器中,onload
将被调用。
很明显,外观将选择可用的最佳选项,例如Event.observe
原型或.load
jQuery 的情况。
DOM 级别 2 事件模型中的方法优于 DOM 级别 0 事件模型方法,因为它们充当观察者并且不会删除以前的处理程序。
阅读 quirksmode.org 对events 的介绍。传统模型和高级模型之间的区别在于需要包装器,因为 M$ 不支持/不支持 W3 标准,需要进行区分。