封装了一个原生的js事件对象的处理,主要考虑跨浏览器的兼容性。
var eventUtil={
// 给元素添加事件
addHandler:function(element,type,handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){
element.attachEvent(‘on’+type,handler);
}else{
element[‘on’+type]=handler;
}
},
// 给元素删除事件
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;
}
}
//获取事件对象
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();
}else{
event.returnValue=false;
}
},
//阻止事件冒泡
stopPropagation:function(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble=true;
}
}
}
对原生js事件对象处理的封装
最新推荐文章于 2021-06-28 22:31:32 发布