一、DOM0事件:onclick
1. 添加事件:
在行内标签内添加多个方法时会分别执行:
<div onclick="fun1();fun2()"></div>
<--两个都会执行-->
在script标签内添加多个方法只会执行最后面的:
box.onclick = ()=>{};
box.onclick = ()=>{}; //只会执行这一个
2. 删除事件:
box.onclick = null
二、DOM2事件:EventListener
1.添加事件:
box.addEventListener('click', fun1, false);//(事件名,方法名,true捕获false冒泡)
box.addEventListener('click', fun1, false);//两个都会执行
2.删除事件:
box.removeEventListener('click', fun1, false);
三、IE事件:
1.添加事件:
box.attachEvent('onclick', fun1);
2.删除事件
box.detachEvent('onclick', fun1)
四、通用时间侦听器:
//添加事件
function addEvent(element, event, func) {
if (element.addEventListener) element.addEventListener(event, func, false);
else if (element.attachEvent) element.attachEvent("on" + event, func);
else element["on" + event] = func;
},
//删除事件
function removeEvent(element, event, func) {
if (element.removeEventListener) element.removeEventListener(event, func, false);
else if (element.detachEvent) element.detachEvent("on" + event, func);
else element["on" + event] = null;