addEventListener和attachEvent区别

添加事件有三种方式,一种是直接添加,第二种是用addEventListener,第三种是用attachEvent的方式

直接添加

oDiv1.onclick=function(){
alert(1);
}
oDiv1.onclick=function(){
alert(2);
}

优点,所有浏览器都支持
缺点,下面的会将上面的方法覆盖
用attachevent和addEventListner添加事件不会被覆盖,但是有兼容性问题

oDiv1.addEventListener('click',function(){
alert(1);
});

1.this指向window
2.不用写on
3.ie不支持
4.有三个参数,第三个参数 useCapture用来确定是事件冒泡( useCapture false),还是事件捕获(useCapture false)
5.从上向下执行

oDiv1.attachEvent("onclick",function(){
alert(1);
})

1.this指向正常
2.写on
3.ie支持
4.有两个参数,ie下不支持事件捕获
5.从下向上执行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ba la la la ~ 读者朋友,你们好啊,又到了冷锋时间,话不多说,发车! 一、addEventL...
    王饱饱阅读 3,477评论 0 1
  • 声明:本文来源于http://www.webzsky.com/?p=731我只是在这里作为自己的学习笔记整理一下(...
    angryyan阅读 11,944评论 1 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,771评论 19 139
  • 以下文章为转载,对理解JavaScript中的事件处理机制很有帮助,浅显易懂,特分享于此。 什么是事件? 事件(E...
    jxyjxy阅读 8,170评论 1 10
  • property fixed absolute relative fixed 当页面内容过多滚动时,它的位置也不会...
    c59ffede9db6阅读 1,287评论 0 0