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

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 <script type="text/javascript">
     8 
     9 window.onload=function()
    10 {
    11 //点击按钮以后添加超链接
    12 var button1=document.getElementById("button1");
    13 var ul=document.getElementById("ul");
    14 
    15 button1.onclick=function(){
    16 var li=document.createElement("li");
    17 li.innerHTML="<a href='javascricpt:;' class='link'>超链接</a>";
    18 ul.appendChild(li);
    19 };
    20 
    21 /*
    22 为每一个超链接都绑定一个单击响应函数
    23 这里我们为每一个超链接都绑定了一个单击响应函数,这种操作比较麻烦,
    24 而且这些操作只能为已有的超链接设置事件,而新添加的超链接必须重新绑定
    25 
    26   var allA=document.getElementsByTagName("a");
    27   for(var i=0;i<allA;i++){
    28   allA[i].onclick=function(){
    29 
    30   };
    31   }
    32 我们希望只绑定一次事件,即可应用到多个元素上,即使元素后添加的
    33 我们可以尝试将其绑定给元素的共同的祖先元素
    34 
    35 为ul绑定一个单击绑定函数
    36 事件的委派
    37 指将事件统一绑定给元素的共同的祖先元素,这样当后代元素上的事件触发时,
    38 会一直冒泡到祖先元素
    39 从而通过祖先元素的响应函数来处理事件,通过委派可以减少事件绑定的次数,提高程序的性能
    40 事件的委派是利用了冒泡
    41 */
    42 ul.onclick=function(){
    43 /*
    44 如果触发事件的对象是我们期望的元素,则执行否则不执行
    45 event中的target表示的触发事件的对象
    46 */
    47 if(event.target.className=="link")
    48 alert("hi");
    49 };
    50 
    51 };
    52 
    53   </script>
    54 <style type="text/css">
    55 #ul{
    56 background-color:#bfa;
    57 }
    58 #span{
    59 background-color:yellow;
    60 }
    61 
    62 </style>
    63 <body>
    64 <button id="button1">添加超链接</button>
    65 <ul id="ul">
    66 
    67     <li>
    68         <a href="javascricpt:;"class="link">超链接</a>
    69     </li>
    70     <li>
    71         <a href="javascricpt:;"class="link">超链接</a>
    72     </li>
    73     <li>
    74         <a href="javascricpt:;"class="link">超链接</a>
    75     </li>
    76 </ul>
    77 </body>
    78 </html>

     

  • 相关阅读:
    PostgreSQL 数据库备份与恢复 pd_dump pg_restore
    给数据库减负的7个技巧
    添加二级域名 配置多站点 阿里云
    PHP 循环输出多重数组元素
    CentOS 7 yum Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile
    CentOS 7 配置 nginx php-fpm 详细教程
    Centos7 卸载 Nginx 并重新安装 Nginx
    centos7 取消自动锁屏
    composer 安装以及使用教程
    MacBook Pro设置外接显示器竖屏显示 切换主显示器
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11258622.html
Copyright © 2011-2022 走看看