zoukankan      html  css  js  c++  java
  • JS---DOM---为元素绑定事件的引入,为元素绑定多个代码,兼容代码

    1. 为元素绑定事件的引入:

    用src直接绑定多个,只实现最后一个(programmer2.js)

    <input type="button" value="按钮" id="btn"/>
    <script src="common.js"></script>
    <script src="programmer1.js"></script>
    <script src="programmer2.js"></script>
    <script>
    
    
      my$("btn").onclick=function () {
        console.log("小杨好帅哦");
      };
    </script>

    2. 为元素绑定多个事件

    为元素绑定事件(DOM) :一种, 但是不兼容, 所以还是有两种

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

    2.1 对象.addEventListener("事件类型", 事件处理函数, false); ----->谷歌和火狐支持, IE8不支持

     
    案例:为按钮绑定点击事件
    1.   参数1:事件的类型---事件的名字,没有on
    2.   参数2:事件处理函数---函数(命名函数,匿名函数)
    3.   参数3:布尔类型,目前就写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);
        my$("btn").addEventListener("click", function () {
          console.log("小苏下流啊");
        }, false);

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

    1.   参数1:事件类型---事件名字,有on
    2.   参数2:事件处理函数---函数(命名函数,匿名函数)
        my$("btn").attachEvent("onclick", function () {
          console.log("小杨好帅哦1");
        });
    
        my$("btn").attachEvent("onclick", function () {
          console.log("小杨好帅哦2");
        });
    
        my$("btn").attachEvent("onclick", function () {
          console.log("小杨好帅哦3");
        });

    3. 为元素绑定事件的兼容代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>title</title>
    
    </head>
    <body>
    <input type="button" value="按钮" id="btn"/>
    <script src="common.js"></script>
    <script>
    
      //为任意元素.绑定任意的事件, 任意的元素,事件的类型,事件处理函数
      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;
        }
      }
    
      addEventListener(my$("btn"),"click",function () {
        console.log("哦1");
      });
      addEventListener(my$("btn"),"click",function () {
        console.log("哦2");
      });
      addEventListener(my$("btn"),"click",function () {
        console.log("哦3");
      });
    
    
    </script>
    </body>
    </html>
  • 相关阅读:
    laydate指定日期不可选
    kindeditor上传及播放视频的问题
    【Mood】八上期末考
    关于Java注解(annotation)的简单理解
    关于RabbitMQ的简单理解
    关于MongoDB的简单理解(三)--Spring Boot篇
    关于MongoDB的简单理解(二)--Java篇
    关于linux系统密码策略的设置(转载)
    mysq 报错, sql语句在数据库里运行正常, 在内网测试正常,打包放外网的时候就报下面错误
    java mybatisplus+springboot服务器跨域问题
  • 原文地址:https://www.cnblogs.com/jane-panyiyun/p/12000014.html
Copyright © 2011-2022 走看看