添加/移除事件、事件对象获取的兼容代码
跨浏览器的事件处理程序:
//新建一个EventUtil对象,作为处理浏览器差异的对象
var EventUtil={
addHandler:function(element,type,false){
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,false){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.detachEvent){
element.detachEvent("on"+type,handler);
}else{
element["on"+type]=null;
}
},
//返回对event对象的引用
getEvent:function(event){
return event?event:window.event;
},
//返回事件的目标
getTarget: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;
}
}
}