IE 浏览器和firefox 绑定事件的异同

IE 与火狐浏览器在事件的区别

IE 支持绑定事件为attachEvent 删除事件 detachEvent  

firefox 绑定事件 adEventListener 删除事件为  removeEventListener

它们都可以绑定多个事件,firefox 是按照绑定顺序来进行执行的,IE是从后向前来执行

firefox 在绑定事件的时候 有三个参数   最后一个参数是布尔类型的  当为false时 在冒泡阶段调用事件处理程序 ,当为true时 在捕获阶段调用
事件处理程序 。而IE 只有两个参数 ,一个是绑定的事件类型 ,一个是事件的处理程序函数 只有在冒泡阶段时调用事件处理程序。

绑定事件处理程序时,最好用一个变量来表示。否则在移除事件时程序是不执行的。只因绑定事件处理程序它是一个匿名函数。

firefox 和IE 绑定事件时还有另一个区别就是:IE 绑定事件的时候前面会加on 而firefox 而不用添加。

 

跨浏览器进行事件绑定

 在这里我们定义一个EventUtil工具类,里面有添加事件和移除事件的方法  首先创创建第一个添加事件的方法addHandler(),里面传递有三个参数,绑定事件的元素,事件类型 ,事件处理程序(指的是一个变量函数) ,它的职现是区分使用DOM0级方法,DOM3级方法、和IE 级方法。第二个移除事件的方法removeHandler与addHandler方法相反,它也接收三个参数  和添加事件的参数相同。也是对 不同DOM级别进行区分和处理。区分不同级别的DOM 时我们使用能力检测的方法进以区分。

 

var EventUtil= {

addHandler(element,type,handler){

     if(element.addEventListener){

            element.addEventListener(type,handler,false);

     }else if(element.attachEvent){

            element.attachEvent("on"+type,handler);

      } else{

           element["on"+type]=handler;

       }

},

removeHandler(element,type,handler){

          if(element.removeEventListener){

            element.removeEventListener(type,handler,false);

     }else if(element.detachEvent){

            element.detachEvent("on"+type,handler);

      } else{

           element["on"+type]=null;

       }

}

 

};

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值