1.on-*方式:
el.onclick = fun1;
el.onclick = fun2;
el.onclick = fun3;
该方法兼容主流浏览器,但是如果添加多个回调函数,只会执行最后一个,比如上面只会执行fun3;
2.
w3c标准:
el.addEventListener(type, fun, boolean)
type: 事件类型,如click
fun: 回调函数,
boolean: 是否在捕捉阶段触发,默认是false,代表在冒泡阶段触发
添加多个回调:18px
el.addEventListener('click', fun1, true);
el.addEventListener('click', fun2, true);
el.addEventListener('click', fun3, true);
执行顺序为: 1,2,3
删除回调:
el.removeListener(type,fun,boolean);
禁止冒泡:
e.stopPropagation();
禁止默认行为:
e.preventDefault();
事件触发对象:e.target
IE:
el.attachEvent(type, fun)
type: 事件类型, 写法要加个on,如onclick
fun: 同上
添加多个回调:
el.attachEvent('onclick', fun1);
el.attachEvent('onclick', fun2);
el.attachEvent('onclick', fun3);
执行顺序为: 3,2,1
删除回调:
el.detachEvent(type,fun);
禁止冒泡:
e.cancalBubble = false;
禁止默认行为:
e.returnValue = false;
事件触发对象: e.srcElement
本文详细介绍了不同浏览器下事件处理机制的实现方式,包括W3C标准的addEventListener与IE下的attachEvent方法的区别,以及如何添加、删除事件监听器,禁止事件冒泡与默认行为等关键操作。
1690

被折叠的 条评论
为什么被折叠?



