当前位置: 首页 > 编程笔记 >

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

冯玮
2023-03-14
本文向大家介绍JavaScript实现跨浏览器的添加及删除事件绑定函数实例,包括了JavaScript实现跨浏览器的添加及删除事件绑定函数实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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实现添加及删除事件的方法小结,包括了JavaScript实现添加及删除事件的方法小结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了JavaScript实现添加及删除事件的方法。分享给大家供大家参考。具体如下: JavaScript添加、删除事件的方法,也就是让某些方法生效指定次数,可以是一次、两次或更多次,但指定次数执行完毕后就删除该方法,使其失效,如果

  • 本文向大家介绍js 实现一些跨浏览器的事件方法详解及实例,包括了js 实现一些跨浏览器的事件方法详解及实例的使用技巧和注意事项,需要的朋友参考一下 js实现一些跨浏览器的事件方法   用JavaScript实现事件的绑定,移除,以及一些常用的事件属性的获取,时常要考虑到在不同浏览器下的兼容性,下面给出了一个跨浏览器的事件对象: 调用如下: 文章参考自《JavaScript高级程序设计第三版》 感谢

  • 问题内容: 在JavaScript中,删除使用bind()添加为事件侦听器的函数的最佳方法是什么? 例 我能想到的唯一方法是跟踪添加了bind的每个侦听器。 上面的示例使用此方法: 有没有更好的方法可以做到这一点? 问题答案: 尽管@machineghost所说的是正确的,但事件的添加和删除方式相同,但等式中缺少的部分是: 调用后会创建一个新的函数引用! 因此,要添加或删除它,请将引用分配给变量:

  • 本文向大家介绍兼容浏览器的js事件绑定函数(详解),包括了兼容浏览器的js事件绑定函数(详解)的使用技巧和注意事项,需要的朋友参考一下 因为javascript中所有对象都集成与Object,那么只有给Object原型添加一个事件绑定函数,就不需要在处理绑定事件的时候,每次写一长串代码,直接调用即可。在代码中添加红色部分代码,直接便可以在代码中直接调用 以上这篇兼容浏览器的js事件绑定函数(详解)

  • 本文向大家介绍JS实现的跨浏览器解析XML文件实例,包括了JS实现的跨浏览器解析XML文件实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现的跨浏览器解析XML文件的方法。分享给大家供大家参考,具体如下: 下列代码把一个 XML 文档 ("note.xml") 载入 XML 解析器中: PS:关于xml格式文件,小编这里再来为大家推荐几款在线工具,相信大家在今后的编程开发中可以用

  • 本文向大家介绍轻松实现jQuery添加删除按钮Click事件,包括了轻松实现jQuery添加删除按钮Click事件的使用技巧和注意事项,需要的朋友参考一下 大家登陆一些网站或论坛时,经常会被要求先浏览和确认“用户协议”。“用户协议”底部通常会设置一个“我已阅读并同意”复选框,勾选了该复选框,“登陆”按钮才可用。 如下图所示,勾选“I have read and accept.”复选框,Login按