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)
    

      

  • 相关阅读:
    hdu5289 RMQ+二分
    poj1459 最大流Dinic
    poj2391 最大流+拆点
    poj1087&&hdu1526 最大流
    NOI2004 郁闷的出纳员
    Treap入门(转自NOCOW)
    poj 2892
    vijos 1512
    对拍程序
    poj 3264
  • 原文地址:https://www.cnblogs.com/yangshifu/p/9981753.html
Copyright © 2011-2022 走看看