通用事件对象(跨浏览器)
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; } } };