JavaScript实现跨浏览器的添加及删除事件绑定函数实例


Posted in Javascript onAugust 04, 2015

本文实例讲述了JavaScript实现跨浏览器的添加及删除事件绑定函数。分享给大家供大家参考。具体如下:

IE 的事件绑定函数是 attachEvent;而 Firefox, Safari 是 addEventListener;Opera 则两种都支持。使用jQuery就可以使用简单的bind(),或者$().click()之类的函数解决,而如果不使用JavaScript框架的时候,大家可是使用下面的封装bind()函数。

添加事件绑定 bind()

/************************************
* 添加事件绑定
* @param obj  : 要绑定事件的元素
* @param type : 事件名称。不加 "on". 如 : "click" 而不是 "onclick".
* @param fn  : 事件处理函数
************************************/
function bind( obj, type, fn ){
  if( obj.attachEvent){
    obj['e'+type+fn]= fn;
    obj[type+fn]=function(){
     obj['e'+type+fn]( window.event);
    }
    obj.attachEvent('on'+type, obj[type+fn]);
  }else
    obj.addEventListener( type, fn,false);
}

例如给document添加一个点击事件:

var fn=function(){
  alert("Hello, World!!");
};
bind(document,"click", fn);

删除事件绑定 unbind()

unbind()对于上面的bind()函数

/************************************
* 删除事件绑定
* @param obj : 要删除事件的元素
* @param type : 事件名称。不加 "on". 如 : "click" 而不是 "onclick"
* @param fn : 事件处理函数
************************************/
function unbind( obj, type, fn ){
  if( obj.detachEvent){
    obj.detachEvent('on'+type, obj[type+fn]);
    obj[type+fn]=null;
  }else
    obj.removeEventListener( type, fn,false);
}

例如删除第一个绑定的document点击事件:

unbind(document,"click",fn);

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
ext form 表单提交数据的方法小结
Aug 08 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
分享一则javascript 调试技巧
Jan 02 Javascript
js制作简易年历完整实例
Jan 28 Javascript
jquery.validate使用时遇到的问题
May 25 Javascript
js窗口关闭提示信息(兼容IE和firefox)
Oct 23 Javascript
js识别uc浏览器的代码
Nov 06 Javascript
详解express + mock让前后台并行开发
Jun 06 Javascript
Node.js中的cluster模块深入解读
Jun 11 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
Jul 05 Javascript
小程序表单认证布局及验证详解
Jun 19 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
Jul 19 Javascript
jquery控制显示服务器生成的图片流
Aug 04 #Javascript
JavaScript实现LI列表数据绑定的方法
Aug 04 #Javascript
用js编写的简单的计算器代码程序
Aug 04 #Javascript
javascript记住用户名和登录密码(两种方式)
Aug 04 #Javascript
js实现简易的单数字随机抽奖(0-9)
Mar 19 #Javascript
JavaScript运动减速效果实例分析
Aug 04 #Javascript
JavaScript仿静态分页实现方法
Aug 04 #Javascript
You might like
PHP 超链接 抓取实现代码
2009/06/29 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
JavaScript实现分页效果
2017/03/28 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
Python爬取三国演义的实现方法
2016/09/12 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
python实时监控cpu小工具
2018/06/21 Python
pandas中的series数据类型详解
2019/07/06 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
内勤主管岗位职责
2014/04/03 职场文书
租车协议书范本2014
2014/11/17 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
先进事迹材料范文
2014/12/29 职场文书
新生入学欢迎词
2015/01/26 职场文书
音乐会主持人开场白
2015/05/28 职场文书
单位同意报考证明
2015/06/17 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
优秀创业计划书分享
2019/07/19 职场文书