EventUtil = {
/*事件添加*/
addListener: function(target,type,handler){
if(target.addEventListener){
target.addEventListener(type,handler);
}else if(target.attachEvent){
target.attachEvent('on'+type,function(){
handler.call(target) /*让handler中的this指向目标元素*/
});
}else{
target['on'+type] = handler;
}
},
/*事件移除*/
removeListener: function(target,type,handler){
if(target.removeEventListener){
target.removeEventListener(type,handler);
}else if(target.detachEvent){
target.detachEvent('on'+type,handler);
}else{
target['on'+type] = null;
}
},
/*事件对象获取*/
getEvent: function(e){
var evt = window.event || e;
return evt;
}
/*获取目标对象*/
getTarget: function(e){
var evt = EventUtil.getEvent(e);
var target;
if(evt.target){
target = evt.target;
}else{
target = evt.srcElement;
}
return target;
}
/*停止冒泡*/
stopPropagation: function(e){
var evt = EventUtil.getEvent(e);
if(evt.stopPropagation){
evt.stopPropagation();
}else{
e.cancelBuble = true;
}
},
/*阻止默认行为*/
preventDefault: function(e){
var evt = EventUtil.getEvent(e);
if(evt.preventDefault){
evt.preventDefault();
}else{
evt.returnValue = false;
}
}
}