首页 > 代码库 > 通用事件对象(跨浏览器)
通用事件对象(跨浏览器)
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 = http://www.mamicode.com/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; } } };
通用事件对象(跨浏览器)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。