为同一个元素添加相同的事件时,后添加的事件会覆盖之前添加的。
o.onclick=function(){
alert(1);
};
o.onclick=function(){
alert(2);
};
打印结果为2。
为了解决后写的覆盖之前的,就需要使用事件的绑定。
分为标准(谷歌火狐等浏览器),ie
事件的绑定:
标准: 元素.addEventListener("事件类型(不加on)",事件处理函数,是否捕获)
o.addEventListener("click",fun1,false);
IE:元素.attach("事件类型(加on)",事件处理函数)
o.attachEvent("onclick",fun1);
标准浏览器的事件和ie浏览器事件绑定是不共存的,只能写一个,以下为兼容写法
if(o.addEventListener){
o.addEventListener("click",fun,false);
}else{
o.attchEvent("onclick",fun);
};
事件的取消:
绑定事件怎么添加就怎么取消。
IE:
绑定:o.attachEvent(onclick,fun);
取消:o.detachEvent(onclick,fun);
标准:
绑定:o.addEventListener(click,fun,false);
取消:o.removeEventLister(click,fun,false);
或者直接取消:
o.οnclick=null;