zoukankan      html  css  js  c++  java
  • 事件的委派

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="UTF-8">
      <title></title>
      <script type="text/javascript">
       
       window.onload=function(){
        var ul = document.getElementById("ul");
        var btn01 = document.getElementById("btn01");
        btn01.onclick = function(){
    //     超链接在li里   先创建一个li
         var li = document.createElement("li");
         li.innerHTML = "<a href='javascript:;' class='link''>新建超链接</a>"
         
         //将li添加到ul中
         ul.appendChild(li);
         
        }
        
        /*
         * 为每一个超链接都绑定一个单击响应函数
         * 为每一个超链接都绑定一个单击响应函数,这种操作都比较麻烦
         * 而且这些操作只能为已有的超链接设置事件,而新增加的超链接必须重新绑定
         */
        
        //通过标签名获取所有的a标签
        var allA = document.getElementsByTagName("a");
        //遍历
    //    for(var i=0 ; i < allA.length ; i++){
    //     allA[i].onclick = function(){
    //      alert("a的响应函数")
    //     }
        
        /*
         * 只绑定一次事件,即可应用到多个元素上,即使元素是后添加的
         * 尝试将它绑定给元素的共同祖先
         *
         * 事件的委派
         * -指将事件统一绑定给元素的共同祖先,这样当后代元素上的事件触发时,会一直冒泡到祖先元素
         *   从而通过祖先元素的响应函数来处理事件
         * -事件委派是利用了冒泡,通过委派可以减少事件绑定次数,提高程序的性能
         */
        ul.onclick = function(event){
         event=event||window.event;
         /*
          * target
          * -event中的target表示触发事件对象
          */
    //     alert(event.target);
         //如果触发对象是我们所期望的,则执行  否则不执行
         if(event.target.className == "link"){
          alert("ul的单击响应函数");
         }
        
        }
        
       
       }
      </script>
     </head>
     <body>
      <button id="btn01">增加超链接</button>
      <ul id="ul" style="">
       <li><a href="javascript:;" class="link">超链接一</a></li>
       <li><a href="javascript:;" class="link">超链接二</a></li>
       <li><a href="javascript:;" class="link">超链接三</a></li>

      </ul>
     </body>
    </html>

  • 相关阅读:
    数据抓去之初次接触
    PHP学习
    git预览项目
    正在加载中动画链接 css左右、关闭按钮
    正则表达式
    【独家】K8S漏洞报告|近期bug fix解读&1.11主要bug fix汇总
    关于k8s这项大动作,预示着边缘计算迎来“开源”发展的新周期……
    idou老师教你学istio :基于角色的访问控制
    K8s爆严重安全漏洞?有何应对措施与建议
    【容器魔方解读】AWS Re:Invent 2018大会
  • 原文地址:https://www.cnblogs.com/weixin2623670713/p/12771975.html
Copyright © 2011-2022 走看看