javascript - addEventListener 和 attachEvent 有什么区别?

标签 javascript

<分区>

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

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

请解释一下我的 createIframe 函数在哪里被调用? addEventListenerattachEvent 有什么区别? loadonload 有什么区别?完全困惑地发现 addEventLisener 与 load 和 attachEvent 与 onload 之间的区别

最佳答案

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

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

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

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

相关文章:

javascript - canvas.drawImage 使裁剪后的图像不成比例

javascript - 使用 karma 和 jasmine 的 Angularjs 基本测试用例,不起作用

javascript - grpc和express服务器可以由同一个nodejs服务器运行吗,或者grpc必须是不同的服务器

javascript - 在 React 中解构状态/ Prop

javascript - transclude() 和 ng-repeat 玩得不好

javascript - 对 'undefined' 类型进行分类

javascript - 如何在javascript中定义私有(private)构造函数?

javascript - 使用 AngularJS 进行砌体

javascript - 在 ajax 调用后使用 html() 插入选项后选择不起作用(Bootstrap Selectpicker)

javascript - 无法使用 javascript (html) 调用 WebMethod