js attachEvent ,addEventListener 和 on 绑定事件的区别
来源:互联网 发布:百佳软件商城 编辑:程序博客网 时间:2024/06/11 22:38
1、on
on绑定事件在IE,FF,Chrome,Safari,Mozilla,Opera下都适用。但是,同一个 dom 元素上,on 只能绑定一个同类型事件,后者会覆盖前者,不同类型的事件可以绑定多个。
d1.onclick = function(){console.log(111)}d1.onclick = function(){console.log(222)}//结果输出 222
d1.onclick = function(){console.log(111)}d1.onfocus = function(){console.log(222)}//结果输出 222,然后 1112、attachEvent 和addEventListener
同一个 dom 元素上,用 attachEvent 和 addEventListener 同类型事件可以绑定多个。但是 IE 只支持 attachEvent(IE11开始不支持了),而且事件执行的顺序是随机的,FF和Chrome只支持 addEventListener,事件执行顺序按照事件绑定的先后顺序执行,所以必须对2种方法做兼容处理。原理是先判断 attachEvent 是否为真,如果为真则用 attachEvent() ,否则用 addEventListener()。另外,为了避免每次绑定事件时做判断,可以封装成一个函数 myAddEvent(obj, ev, fn){}。
function myAddEvent(obj,ev,fn){//obj绑定事件的元素,ev事件名,fn函数if(obj.attachEvent){obj.attachEvent("on"+ev, fn);}else {obj.addEventListener(ev, fn, false);}}myAddEvent(d1,"click",function(){console.log(1111)});3、addEventListener
addEventListener() 方法第一个参数是事件名,不需要加 on,第二个参数是函数,第三个参数一般不写,默认为 false,在冒泡阶段处理函数,如果为 true,则是在捕获阶段处理函数。
<div id="box"> <div id="child"></div> </div>
box.addEventListener("click", function(){console.log("box");}, false);child.addEventListener("click", function(){console.log("child");});//执行顺序为 child box
box.addEventListener("click", function(){console.log("box");}, true);child.addEventListener("click", function(){console.log("child");});//执行顺序为 box child
阅读全文
0 0
- js attachEvent ,addEventListener 和 on 绑定事件的区别
- JS事件绑定addEventListener 和 attachEvent
- addEventListener和attachEvent以及事件句柄绑定的区别
- JS之事件绑定(addEventListener、removeEventListener、attachEvent、detachEvent的用法和区别)
- 事件绑定on和addEventListener的区别
- js绑定事件(attachEvent、addEventListener)传参
- javascript addEventListener和attachEvent 事件绑定
- JS: addEventListener 和 attachEvent 绑定的函数中this的区别
- addEventListener和attachEvent的区别
- addEventListener和attachEvent的区别
- js添加事件attachEvent和addEventListener的用法
- js 添加事件 attachEvent 和 addEventListener 的用法
- js 添加事件 attachEvent 和 addEventListener 的用法
- js 添加事件 attachEvent 和 addEventListener 的用法
- js添加事件attachEvent和addEventListener的用法示例
- js 添加事件 attachEvent 和 addEventListener 的用法
- js 添加事件 attachEvent 和 addEventListener 的用法
- js 添加事件 attachEvent 和 addEventListener 的用法
- 实战css3画个机器猫后自己的得到
- Android 获取当前时间(最简单)
- Android Jni 编译 error: undefined reference to 错误
- Graveyard,NEEEC 2006,LA 3708
- 作用域和lambda
- js attachEvent ,addEventListener 和 on 绑定事件的区别
- 【JavaScript笔记】1.5 js流程控制
- Keepalived系列—配置文件keepalived.conf详解
- perl 处理 回车 换行符
- 1102. Invert a Binary Tree (25)反转二叉树
- 一致性哈希算法简介:简单的自我理解 与 一些摘抄的资料
- 老人与流浪狗
- 并发服务器select
- jdk 源码分析(7)java ReentrantLock结构