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>
  • 相关阅读:
    潭州课堂25班:Ph201805201 django 项目 第二课 git 版本控制 (课堂笔记)
    HTML中的转义字符
    Java防止SQL注入
    Web很脆弱,SQL注入要了解
    防止sql注入:替换危险字符
    Hadoop HA详解
    java代码---charAt()和toCharry()的用法
    java代码-----计算器,界面+功能+boolean
    java代码-----运用endWith()和start()方法
    java代码---indexOf()方法
  • 原文地址:https://www.cnblogs.com/missjingjing/p/8584639.html
Copyright © 2011-2022 走看看