您的位置:首页 > 其它

DOM事件处理跨浏览器(兼容IE)封装

2017-08-17 19:25 363 查看
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*/
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: