addEventListener和attachEvent有什么区别?

时间:2015-06-18 11:57:06

标签: javascript

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

if (window.addEventListener) {
   window.addEventListener("load", createIframe, false);            
}
else if (window.attachEvent) {
   window.attachEvent("onload", createIframe);            
}
else {
   window.onload = createIframe;           
}

请解释我的 createIframe 功能被调用的地方?和 addEventListener attachEvent 有什么区别? 加载 onload 之间的区别是什么?完全混淆,找出 addEventLisener与load和attachEvent与onload

之间的区别

1 个答案:

答案 0 :(得分:26)

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

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

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