zoukankan      html  css  js  c++  java
  • js 监听事件的叠加和移除

      html DOM元素有很多on开头的监听事件,如onload、onclick等,见DOM事件列表。但是同一种事件,后面注册的会覆盖前面的:

    window.onresize = function(){
    	alert(1);
    }
    window.onresize = function(){
    	alert(2);
    }
    // 改变窗口大小时,只会弹出2
    

    addEventListener监听

      利用addEventListener添加监听事件,可以重复添加,并不会互相覆盖: 

    window.addEventListener("resize",function(){
    	alert(1)
    })
    window.addEventListener("resize",function(){
    	alert(2)
    })
    // 改变窗口大小时,先后弹出1和2
    

      注意这里面的事件是不带"on"前缀的。

    removeEventListener移除监听

      removeEventListener跟addEventListener相对应,用于移除事件监听。

      如果要移除事件句柄,addEventListener() 的执行函数必须使用外部具名函数,匿名函数事件是无法移除的。

    // 匿名函数事件无法移除
    window.addEventListener("resize",function(){
    	alert(1)
    })
    
    // 监听具名函数事件
    function myResize(){
    	alert(2)
    }
    window.addEventListener("resize",myResize)
    // 移除事件监听
    window.removeEventListener("resize",myResize)
    

      

  • 相关阅读:
    Eclipse快捷键
    LeeCode
    Code Complete
    Git
    sql优化策略
    FSA/FSM/FST
    索引失效情况
    实现HttpHandlerFactory的方法
    Xpath语法格式整理
    Edojs应用
  • 原文地址:https://www.cnblogs.com/yangshifu/p/9981753.html
Copyright © 2011-2022 走看看