This question already has answers here:
Correct usage of addEventListener() / attachEvent()?

(2个答案)


2年前关闭。




这是我在页面中使用的代码,
if (window.addEventListener) {
   window.addEventListener("load", createIframe, false);
}
else if (window.attachEvent) {
   window.attachEvent("onload", createIframe);
}
else {
   window.onload = createIframe;
}

请向我解释,我的 createIframe 函数在哪里调用? addEventListener和attachEvent有什么区别? load和onload有什么区别?完全困惑以发现带有加载的 addEventLisener和带有加载的的attachEvent之间的区别

最佳答案

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

因此,最大的问题是:您将支持IE8-吗?

边注:window.onload = whatever将覆盖所有附加的事件侦听器。这就是为什么使用addEventListener的原因:将函数添加到事件的堆栈中,而不是覆盖它。

关于javascript - addEventListener和attachEvent有什么区别? [复制],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30914727/

10-14 09:44