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

    什么是事件委托?

    事件委托也叫做事件代理,就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。

    事件委托原理?

    事件委托是利用事件的冒泡原理来实现的,事件从最深的节点开始,然后逐步向上传播事件。

    举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>li>ul>div,有这样一个机制,那么我们给最外面的div加点击事件,那么里面的ul,li,a做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托它们父级代为执行事件。

    如何知道触发的是子元素还是父元素?

    当子元素的事件冒泡到父元素时,你可以检查事件对象的target属性,捕获真正被点击的节点元素的引用。

    <ul id="ul1">
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    

      

    window.onload = function(){
      var oUl = document.getElementById("ul1");
      oUl.onclick = function(ev){
        var ev = ev || window.event;
        var target = ev.target || ev.srcElement;
        if(target.nodeName.toLowerCase() == 'li'){
             alert(123);
             alert(target.innerHTML);
        }
      }
    }
    

      

  • 相关阅读:
    MySQL表的四种分区类型
    微信开发配置(Yii框架下的开发)
    一道编程题—输出字符串内重复的数字
    无序数组内查找指定值(快速查找)
    指针
    chmod
    cookie和session的区别
    使用keytool生成证书
    人大金仓修改最大连接数
    数据库链接地址
  • 原文地址:https://www.cnblogs.com/heisetianshi/p/13614766.html
Copyright © 2011-2022 走看看