您的位置:首页 > 其它

跨浏览器的事件处理程序

2017-08-16 10:43 183 查看
<button class="btn" style="color: red;" id="btn">点击进行交互</button>

/*跨浏览器的事件处理程序*/
var EventUtil = {
addHandler:function(element,type,handler){
if(element.addEventListener){//检测是否存在DOM2级方法,
element.addEventListener(type,handler,false);//如果存在DOM2级方法,传入事件类型,事件处理程序,和第三个参数false(表示冒泡阶段)
}else if(element.attachEvent){
element.attachEvent("on" + type,handler);//如果存在的IE方法,为了在IE8以及更早的浏览器中运行,此类事件类型必须加上on前缀
}else{
element["on" + type] = handler;//DOM0级方法(现代浏览器中,应该运行不到这里的代码),此时使用的是方括号语法来将属性名指定为事件处理程序,或者将属性设置为null
}//DOM0级对每个事件只支持一个事件处理程序。
},
removeHandler:function(element,type,handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent("on" + type,handler);
}else{
element["on" + type] = null;
}

}
};
var bTn = document.getElementById("btn");
var handler = function(){
alert("clicked");
}

EventUtil.addHandler(bTn,"click",handler);
EventUtil.removeHandler(bTn,"click",handler);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: