zoukankan      html  css  js  c++  java
  • js事件委托

    js事件委托 经典面试题

    事件委托的概念:

    事件委托就是把A的事交给B去干,在js中事件委托也称为事件代理,事件委托就是利用冒泡事件,只把事情交给一个去做,就可以管理一种类型的所有事件,如果子元素拦截了冒泡,那么事件委托也无法实现

    事件委托的好处:

    提高性能

    事件委托的案例:

    使用事件委托实现移入加背景,移出背景消失

    <<< html

     <ul id="ul">
     <li>aaaaaaaa</li>
     <li>bbbbbbbb</li>
     <li>cccccccc</li>
     </ul>
    

    <<< js

    window.onload = function(){
      var oUl = document.getElementById("ul");
      var aLi = oUl.getElementsByTagName("li");
    /*
    这里要用到事件源:event 对象,事件源,不管在哪个事件中,只要你操作的那个元素就是事件源。
    ie:window.event.srcElement
    标准下:event.target
    nodeName:找到元素的标签名
    */
      oUl.onmouseover = function(ev){
        var ev = ev || window.event;
        var target = ev.target || ev.srcElement;
        //alert(target.innerHTML);
        if(target.nodeName.toLowerCase() == "li"){
        target.style.background = "red";
        }
      }
      oUl.onmouseout = function(ev){
        var ev = ev || window.event;
        var target = ev.target || ev.srcElement;
        //alert(target.innerHTML);
        if(target.nodeName.toLowerCase() == "li"){
        target.style.background = "";
        }
      }
    }
    
  • 相关阅读:
    [zjoi]青蛙的约会_扩展欧几里德
    [coci2012]覆盖字符串 AC自动机
    出题日志
    [zjoi2003]密码机
    矩阵乘法
    洛谷 P1064 金明的预算方案
    洛谷 P1656 炸铁路
    洛谷 P1049 装箱问题
    最长上升子序列(LIS)与最长公共子序列(LCS)
    求最大公约数与最小公倍数
  • 原文地址:https://www.cnblogs.com/luckyjiu9/p/13649238.html
Copyright © 2011-2022 走看看