手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >详解javascript跨浏览器事件处理程序
详解javascript跨浏览器事件处理程序
摘要:本文为大家分享了javascript跨浏览器事件处理机制,供大家参考,具体内容如下跨浏览器的事件处理程序function$(id){retu...

本文为大家分享了javascript跨浏览器事件处理机制,供大家参考,具体内容如下

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>跨浏览器的事件处理程序</title> </head> <body> <input type="button" value="click me" id="myBtn"/> <input type="button" value="解除" id="unlisten"/> <script> function $(id){ return document.getElementById(id); } var EventUtil={ fnCount:0 ,fnData:{} ,addHandler:function(element,type,handler){ this.fnCount++; handler.fid = this.fnCount; var _fn = handler; handler = function(){ _fn.call(element); }; this.fnData[this.fnCount] = handler; if(element.addEventListener){ element.addEventListener(type,handler,false); } else if(element.attachEvent){ element.attachEvent("on"+type,handler); } else { element["on"+type]=handler; } } ,removeHandler:function(element,type,handler){ handler = this.fnData[handler.fid]; if(element.removeEventListener){ element.removeEventListener(type,handler,false); }else if(element.detachEvent){ element.detachEvent("on"+type,handler); }else{ element["on"+type]=null; } } } var btn=$("myBtn"); var unbtn = $('unlisten'); var bindFn1=function(){ alert(this.id); }; var bindFn2=function(){ alert('2'); }; EventUtil.addHandler(btn,"click",bindFn1); EventUtil.addHandler(btn,"click",bindFn2); //EventUtil.removeHandler(btn,"click",bindFn1); EventUtil.addHandler(unbtn,"click",function(){ EventUtil.removeHandler(btn,"click",bindFn1); }); </script> </body> </html>

以上就是本文的全部内容,希望对大家的学习有所帮助。

【详解javascript跨浏览器事件处理程序】相关文章:

解析javascript中鼠标滚轮事件

纯javascript制作日历控件

javascript相关事件的几个概念

Javascript客户端脚本的设计和应用

在JavaScript中处理字符串之fontcolor()方法的使用

理解javascript定时器中的单线程

深入理解JavaScript的React框架的原理

javascript生成不重复的随机数

javascript改变和控制显示的图片大小

javascript实现日期按月份加减

精品推荐
分类导航