addEventListener和attachEvent有什么区别?

RaJ*_*iJo 16 javascript

这是我在页面中使用的代码,

if (window.addEventListener) {
   window.addEventListener("load", createIframe, false);            
}
else if (window.attachEvent) {
   window.attachEvent("onload", createIframe);            
}
else {
   window.onload = createIframe;           
}
Run Code Online (Sandbox Code Playgroud)

请解释一下我的createIframe功能被调用的地方?和addEventListenerattachEvent有什么区别?什么是之间的不同负载onload事件?完全混淆,找到addEventLisener与load和attachEvent与onload之间的区别

Jac*_*ack 33

快速回答:attachEvent如果您的浏览器返回,您必须使用undefined == window.addEventListener.事情是前者是IE8和以前版本中实现的非标准JS功能,而addEventListenerIE9 +(和所有其他浏览器)支持.

所以最大的问题是:你会支持IE8吗?

保证金注释:window.onload = whatever将覆盖任何附加的事件监听器.这就是使用的原因addEventListener:将一个函数添加到事件的堆栈中,而不是覆盖它.