事件的绑定以及兼容代码

Posted zhangdy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件的绑定以及兼容代码相关的知识,希望对你有一定的参考价值。

1. 事件的绑定:为同一个元素绑定多个相同的事件

2. 三种方式

(1)对象.on事件名字=事件处理函数

my$("btn").onclick=function();

如果是多个相同事件注册用这种方式,最后一个执行,之前的被覆盖了

(2) 对象.addEventListener("没有on的事件名字",事件处理函数,false);

  --谷歌和火狐支持,IE8不支持

  my$("btn").addEventListener("click",function(),false);

  参数1:事件的类型---事件的名字,没有on
  参数2:事件处理函数---函数(命名函数,匿名函数)
  参数3:布尔类型,目前就写false

//为同一个元素绑定多个相同的事件
 my$("btn").addEventListener("click",function () 
   console.log("你好啊");
 ,false);
 my$("btn").addEventListener("click",function () 
   console.log("你吃饭了吗");
 ,false);

 

(3)对象.attachEvent("有on的事件名字",事件处理函数);

  --谷歌不支持,火狐不支持,IE8支持

  参数1:事件类型---事件名字,有on
  参数2:事件处理函数---函数(命名函数,匿名函数)

  my$("btn").attachEvent("onclick",function());

 my$("btn").attachEvent("onclick",function () 
   console.log("小杨好帅哦1");
 );

 my$("btn").attachEvent("onclick",function () 
   console.log("小杨好帅哦2");
 );

3.兼容代码

//为任意元素.绑定任意的事件, 任意的元素,事件的类型,事件处理函数
  function addEventListener(element,type,fn) 
    //判断浏览器是否支持这个方法
    if(element.addEventListener)
      element.addEventListener(type,fn,false);
    else if(element.attachEvent)
      element.attachEvent("on"+type,fn);
    else
      element["on"+type]=fn;
    
  

 

以上是关于事件的绑定以及兼容代码的主要内容,如果未能解决你的问题,请参考以下文章

JS中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE

关于浏览器滚动的兼容性问题以及事件绑定

JavaScript中事件的绑定

绑定事件和解绑事件的兼容代码

通过js添加的DOM节点的click事件绑定不上的解决方案以及IOS下click事件委派失效的解决方案

React 实现数据双向绑定 事件的绑定以及传参 获取表单值的两种方法