博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通用的事件侦听器函数
阅读量:7021 次
发布时间:2019-06-28

本文共 1479 字,大约阅读时间需要 4 分钟。

1 // 把所有方法封装到一个对象里面,充分考虑兼容写法 2 var EventUtil = { 3   // 添加DOM事件 4   addEvent: function(element, type, handler) { 5     if(element.addEventListener) { //DOM2级 6       element.addEventListener(type, handler, false); 7     }else if(element.attachEvent) {  //IE 8       element.attachEvent("on"+ type, handler); 9     }else {10       element["on" + type] = handler;11     }12   },13   // 移除DOM事件14   removeEvent: function(element, type, handler) {15     if(element.removeEventListener) { //DOM2级16       element.removeEventListener(type, handler, false);17     }else if(element.detachEvent) {  //IE18       element.detachEvent("on"+ type, handler);19     }else {20       element["on" + type] = null;21     }22   },23   // 阻止事件冒泡24   stopPropagation: function(ev) {25     if(ev.stopPropagation) {26       ev.stopPropagation();27     }else {28       ev.cancelBubble = true;29     }30   },31   // 阻止默认事件32   preventDefault: function(ev) {33     if(ev.preventDefault) {34       ev.preventDefaule();35     }else {36       ev.returnValue = false;37     }38   },39   // 获取事件源对象40   getTarget: function(ev) {41     return event.target || event.srcElement;42   },43   // 获取事件对象44   getEvent: function(e) {45     var ev = e || window.event;46     if(!ev) {47       var c = this.getEvent.caller;48       while(c) {49         ev = c.arguments[0];50         if(ev && Event == ev.constructor) {51           break;52         }53         c = c.caller;54       }55     }56     return ev;57   }58 };59

 

转载地址:http://hmbxl.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
一些思想
查看>>
嵌入式开发环境配置
查看>>
nignx
查看>>
阿里的settings.xml
查看>>
jdbc
查看>>
反射知识点
查看>>
谷歌明确Fuchsia并非基于Linux内核
查看>>
Jenkins的安装和使用(Centos7)
查看>>
Red Hat Linux的学习
查看>>
java关于安卓,苹果输入表情数据库处理
查看>>
oracle与db2分区的区别
查看>>
如何快速把一个11g数据库插入到12c cdb中去?
查看>>
缓存架构设计细节二三事
查看>>
mybatis链接数据库 返回自增主键
查看>>
SpringBoot简化部署
查看>>
yml使用
查看>>
3.04-Miniui总结(一)
查看>>
Hadoop-工作流图解
查看>>
js基础 局部变量和全局变量 作用域链 形参是局部变量
查看>>