zoukankan      html  css  js  c++  java
  • JS-事件心得

    写在前面的话:就我目前的水平来看,这两种方法不能一起使用,用on添加的事件removeEventListener()没办法删除,反之一样

    注册事件的两种方式:

    • on+事件名称

    • addEventListener()事件监听器

    1. 假设事件源是获取到的button节点的btn,为btn注册一个点击事件:  btn.addEventListener("click",fn);  //第一个参数是事件名称,没有on,第二个是执行的函数体
    2. 这种方法可以为一个节点注册多个事件       如上边的btn:    
      btn.addEventListener("click",fn1);
      btn.addEventListener("click",fn2);
    3. 在IE9前,用attachEvent()这个方法
    4. 因为在DOM2之后出来,所以需要考虑到兼容性的问题
      <body>
          <input type="button" value="一个神奇的按键">
          <script>
              var inp = document.getElementsByTagName('input')[0];
      
              //事件的兼容性写法
              EventListener = {
                  addEvent : function (ele,fn,str) {
                      if (ele.addEventListener) {
                          ele.addEventListener(str,fn);
                      }else if (ele.attachEvent) {    //兼容IE678
                          ele.attachEvent("on" + str,fn);
                      }else {     //DOM0时代,但当前的这种写法只是示例,不够完善
                          ele["on" + str] = fn;
                      }
                  },
                  removeEvent : function (ele,fn,str) {
                      if (ele.removeEventListener) {
                          ele.removeEventListener(str,fn);
                      }else if (ele.detachEvent) {
                          ele.detachEvent("on" + str, fn);
                      }else {
                          ele["on" + str] = fn;
                      }
                  }
              }
              function fn() {
                  alert(1);
              }
      
              var inp = document.getElementsByTagName('input')[0];
              EventListener.addEvent(inp,fn,"click");//添加事件
              EventListener.removeEvent(inp,fn,"click");//移除事件
          </script>
  • 相关阅读:
    Spring-四种常用注解
    Spring-IOC
    Spring-bean 的管理细节
    Android R.java文件
    MySQL | windows10 安装MySQL : 无法将“mysql”项识别为 cmdlet、函数、脚本....
    统计知识 | 决定系数 R方、调整后的R方、F值
    R | R语言表达式中常用的符号
    回归分析 | R语言回归算法、模型诊断
    R | 探索性数据分析 EDA
    R语言基础 | 概率分布的表示方法
  • 原文地址:https://www.cnblogs.com/missjingjing/p/8584639.html
Copyright © 2011-2022 走看看