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