解决跨浏览器DOM事件处理
2017-03-31 21:19
176 查看
<!DOCTYPE html> <html> <head> <title>事件流</title> <meta charset="utf-8"> //若不写这行,IE浏览器会乱码,chrome不会,不清楚为什么,还没研究=。= </head> <body> <input type="button" value="按钮" id="btn1"> <script type="text/javascript"> var btn1=document.getElementById('btn1'); function showMes(){ alert('hello world!'); } var eventUtil={ //添加句柄 addHandler:function(element,type,handler){ if(element.addEventListener){ //DOM2级 element.addEventListener(type,handler,false); }else if(element.attachEvent){ //IE事件处理 element.attachEvent('on'+type,handler); }else{ //DOM0级 element['on'+type]=handler; //注意element['on'+type] === element.onclick(),当遇到这种方法名称不确定的时候用[] } }, //删除句柄 removeHandler:function(element,type,handler){ if(element.removeEventListener){ //DOM2级 element.removeEventListener(type,handler,false); }else if(element.detachEvent){ //IE事件处理 element.detachEvent('on'+type,handler); }else{ //DOM0级 element['on'+type]=null; } } } eventUtil.addHandler(btn1,'click',showMes); </script> </body> </html>
参考:
http://www.imooc.com/video/2138
相关文章推荐
- 跨浏览器解决事件处理程序兼容问题
- 跨浏览器事件处理,能力检测:IE事件,DOM0级,DOM2级
- DOM 2级事件模型跨浏览器处理
- DOM事件详解及调用(跨浏览器事件处理程序,判断语句)
- DOM事件处理跨浏览器(兼容IE)封装
- 多种DOM事件处理程序分析及跨浏览器的事件解决方案
- DOM(十四):代理检测和事件处理(跨浏览器)
- DOM中为事件添加事件处理程序的几种方式以及跨浏览器方式
- 多种DOM事件处理程序分析及跨浏览器的事件解决方案
- 由于dom结构的改变导致事件处理程序找不到事件主体报错的解决方法
- IE事件处理程序及跨浏览器解决
- JS-DOM2级事件对象跨浏览器处理(已封装)
- 多种DOM事件处理程序分析及跨浏览器的事件解决方案
- javascript 句柄 --DOM事件处理及跨浏览器处理
- DOM(十四):代理检测和事件处理(跨浏览器)
- DOM 2级事件模型跨浏览器处理
- 解决GridView“GridView1”激发了未处理的事件“PageIndexChanging”处理
- GridView“gvShow”激发了未处理的事件“RowDeleting”解决办法
- SilverLight学习笔记--Silverligh之在Silverlight中捕获和处理DOM事件
- MS DTC无法正确处理DC升级/降级事件解决方法