详解javascript跨浏览器事件处理程序
更新时间:2016年03月27日 10:15:22 作者:subying
这篇文章主要为大家详细介绍了javascript跨浏览器事件处理机制,感兴趣的小伙伴们可以参考一下
本文为大家分享了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和HTML DOM的区别与联系及Javascript和DOM的关系
- JSP基于dom解析xml实例详解
- JavaScript对HTML DOM使用EventListener进行操作
- JavaScript简单遍历DOM对象所有属性的实现方法
- JavaScript实现为指定对象添加多个事件处理程序的方法
- 轻松创建nodejs服务器(5):事件处理程序
- JS注册/移除事件处理程序(ExtJS应用程序设计实战)
- 浅谈Javascript事件处理程序的几种方式
- js使用函数绑定技术改变事件处理程序的作用域
- JavaScript事件处理程序(事件侦听器)
- JavaScript Event学习第三章 早期的事件处理程序
- JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
相关文章
前端插件之Bootstrap Dual Listbox使用教程
这篇文章主要介绍了前端插件之Bootstrap Dual Listbox使用教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下2019-07-07原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
下面小编就为大家带来一篇原生JS实现风箱式demo,并封装了一个运动框架(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-07-07javascript:;与javascript:void(0)使用介绍
有时候我们在编写js过程中,需要触发事件而不需要返回值,那么就可能需要这样的写法2013-06-06关于js中removeEventListener取消事件监听的坑
许多入前端不久的人都会遇到removeEventListener无法清除监听的情况,下面这篇文章主要给大家介绍了关于js中removeEventListener取消事件监听的坑,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-09-09bootstrapValidator bootstrap-select验证不可用的解决办法
这篇文章主要为大家详细介绍了bootStrapValidator和bootStrap-select验证不可用的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-01-01
最新评论