首页 > Web开发 > 详细

JS 为任意元素添加任意事件的兼容代码

时间:2019-03-20 18:16:03      阅读:123      评论:0      收藏:0      [点我收藏+]
为元素绑定事件(DOM):一种,但是不兼容,有两种
 
1 对象.addEventListener("事件类型",事件处理函数,false);
  谷歌和火狐支持,IE8不支持;
    为按钮绑定点击事件
      参数1:事件的类型---事件的名字,没有on
      参数2:事件处理函数---函数(命名函数,匿名函数)
      参数3:Boolean类型,是否使用捕获,一般用false 。这里涉及到JavaScript事件流的概念,后续章节将会详细讲解。
//为同一个元素绑定多个相同的事件--
 my$("btn").addEventListener("click",function () {
   console.log("小米一岁了");
 },false);
 my$("btn").addEventListener("click",function () {
   console.log("小米二岁了");
 },false);
 my$("btn").addEventListener("click",function () {
   console.log("小米三岁了");
 },false);
 my$("btn").addEventListener("click",function () {
   console.log("小米四岁了");
 },false);

 

2 对象.attachEvent("有on的事件类型",事件处理函数)
  谷歌不支持,火狐不支持,IE8支持;

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

my$("btn").attachEvent("onclick",function () {
   console.log("小米一岁了");
 });

 my$("btn").attachEvent("onclick",function () {
   console.log("小米二岁了");
 });

 my$("btn").attachEvent("onclick",function () {
   console.log("小米三岁了");
 });

 

3 为了解决这个兼容的问题:

//element 为要绑定事情的元素 type 为绑定那种事件 func  事件的处理函数
  function addEventListener(element,type,func) {
    //判断浏览器是否支持这个方法
    if(element.addEventListener){
      element.addEventListener(type,func,false);
    }else if(element.attachEvent){
      element.attachEvent("on"+type,func);
    }else{
      element["on"+type]=func;
    }
  }

 

 

JS 为任意元素添加任意事件的兼容代码

原文:https://www.cnblogs.com/wanguofeng/p/10566609.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!