var eventUtil={ /*DOM2级事件处理程序*/
//给一个元素添加事件
addHander:function(element,type,hander){
if(element.addEventListener){
element.addEventListener(type,hander,false); /*非IE*/
}else if(element.attachEvent){
element.attachEvent("on"+type,hander); /*IE*/
}else{
element["on"+type]=hander;
}
},
//给一个元素删除事件
removeHander:function(element,type,hander){
if(element.removeEventListener){
element.removeEventListener(type,hander,false); /*非IE*/
}else if(element.detachEvent){
element.detachEvent("on"+type,hander); /*IE*/
}else{
element["on"+type]=null;
}
},
//获取兼容所有浏览器的一个对象
getEvent:function(event){
return event?event:window.event;
},
//获取事件类型
getType:function(event){ //此项不存在浏览器兼容问题
return event.type;
},
//事件来自哪个元素
getElement:function(event){
return event.target || event.srcElement;
},
//阻止事件默认行为
preventDefault:function(event){
if(event.preventDefault){
event.preventDefault(); /*非IE*/
}else{
event.returnValue=false; /*IE*/
}
},
//阻止事件冒泡
stopPropagation:function(event){
if(event.stopPropagation){
event.stopPropagation(); /*非IE*/
}else{
event.cancelBubble=true; /*IE*/
}
}
}
DOM事件处理跨浏览器(兼容IE)封装
最新推荐文章于 2021-01-25 18:08:41 发布