事件模型兼容代码
2017-02-17 15:30
78 查看
原始事件模型,捕获型事件模型,冒泡事件模型
EventUtil={ addListener:function(target,type,handler){ if(target.addEventListener){ target.addEventListener(type,handler); }else if(target.attachEvent){ target.attach("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 {evt.cancelBubble=true;} }, preventDefault:function(e){ //阻值默认行为的发生 var evt=EventUtil.getEvent(e); if(evt.preventDefault){ evt.preventDefault(); } else {e.returnValue=false;} } }
相关文章推荐
- firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码
- javascript事件模型代码
- javascript计算器之DOM事件模型-----浏览器兼容问题
- 编写高质量代码改善C#程序的157个建议[C#闭包的陷阱、委托、事件、事件模型]
- 文本框中,回车键触发事件的js代码[多浏览器兼容]
- firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
- epoll模型添加inotify事件的代码实现
- avascript计算器之DOM事件模型-----浏览器兼容问题
- javascript计算器之DOM事件模型-----浏览器兼容问题
- Activiti 引擎事件监听模型代码走读
- 书写同时兼容IE和FireFox的事件处理代码
- javascript 传统事件模型构造的事件监听器实现代码
- js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
- 按Sybase的PowerDesigner工具设计的数据库模型 ---> 解析生成能兼容多种数据库的相应的C#底层代码
- 按Sybase的PowerDesigner工具设计的数据库模型 ---> 解析生成能兼容多种数据库的相应的C#底层代码
- javascript事件模型代码
- JavaScript 事件监听实例代码[兼容IE,firefox] 含注释
- 按Sybase的PowerDesigner工具设计的数据库模型 ---> 解析生成能兼容多种数据库的相应的C#底层代码
- input值改变事件兼容代码(用于做自动补全)
- 一段伪代码来总结一下nginx的事件处理模型: