var EventUtil = {
addHander: function(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false)
} else if (element.attchEvent) {
element.attchEvent('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) { //使用这个方法跨浏览器取得event对象
return event ? event : window.event;
},
getTarget: function(event) { //返回事件的实际目标
return event.target || event.srcElement;
},
stopBubble: function stopBubble(event) {
// 如果提供了事件对象,则这是一个非IE浏览器
if (event && event.stopPropagation) {
// 因此它支持W3C的stopPropagation()方法
event.stopPropagation();
} else {
// 否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
},
stopDefault: function(event) {
// 阻止默认浏览器动作(W3C)
if (event && event.preventDefault) {
event.preventDefault();
} else {
// IE中阻止函数器默认动作的方式
window.event.returnValue = false;
}
return false;
},
getWheelDelta: function(event) { //获取表示鼠标滚轮滚动方向的数值
if (event.wheelDelta) {
return event.wheelDelta;
} else {
return -event.detail * 40;
}
},
getCharCode: function(event) { //以跨浏览器取得相同的字符编码,需在keypress事件中使用
if (typeof event.charCode == "number") {
return event.charCode;
} else {
return event.keyCode;
}
}
};