Event事件跨浏览器封装

 var Event = {
//注册事件
addEvent: function(element,type,handler){
if(element.addEventListener){ //DOM2级
element.addEventListener(type,handler,false); //false为冒泡,true为捕获
}else if(element.attachEvent){ //IE
element.attachEvent("on"+type,function(){ //默认皆为冒泡
handler.call(element);
});
}else{
element["on"+type] = handler; //DOM0级
}
},
//取消事件
removeEvent: 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;
}
},
//防止冒泡行为
stopPropagation: function(event){
if(event.stopPropagation){ //非IE
event.stopPropagation();
}else{ //IE
event.cancleBubble = true;
}
},
//阻止默认行为 如<a>的默认链接行为
preventDefault: function(event){
if(event.preventDefault){ //
event.preventDefault();
}else{ //IE
event.returnValue = true;
}
},
//获取事件对象
getEvent: function(event){
return event || window.event; //FF通过传过来的参数event使用,IE通过window.event取用
},
//获取触发事件的目标源
getTarget: function(event){
return event.target || event.srcElement; //后者为了兼容IE
}
};
上一篇:我的Java起源


下一篇:spring-servlet.xml简单示例