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>
  • 相关阅读:
    CentOS 阿里源
    使用分区挂载 ftp 目录
    Docker-compose常用命令
    docker 启动容器失败 id already in use
    Docker daemon.json 的配置项目合集
    Watchtower
    umount 时目标忙解决办法
    opencontrail 参考资料
    使用disk-image-builder(DIB)制作Ironic 裸金属镜像
    Nodejs常见安装
  • 原文地址:https://www.cnblogs.com/missjingjing/p/8584639.html
Copyright © 2011-2022 走看看