zoukankan      html  css  js  c++  java
  • 事件委托(事件代理)的原理以及优缺点是什么?

    事件委托原理:事件冒泡机制。
    优点:1.可以大量节省内存占用,减少事件注册。比如ul上代理所有li的click事件就很不错。
    2.可以实现当新增子对象时,无需再对其进行事件绑定,对于动态内容部分尤为合适
    缺点:事件代理的常用应用应该仅限于上述需求,如果把所有事件都用事件代理,可能会出现事件误判。即本不该被触发的事件被绑定上了事件。

    看下面的例子:
     1 <ul id="ul1">
     2     <li>111</li>
     3     <li>222</li>
     4     <li>333</li>
     5 </ul>
     6 
     7 <script>
     8     var oUl1 = document.getElementById('ul1');
     9     myAddEvent(oUl1,'click',function(e){
    10         var e = e || window.event;
    11         var target = e.target || e.srcElement;
    12         if(target.nodeName === 'LI'){
    13             alert(target.innerHTML);
    14             target.style.background = 'red';
    15         }
    16     });
    17     // 事件绑定封装成js函数
    18     function myAddEvent(obj, ev, fn){
    19         if(obj.attachEvent){ // ie
    20             obj.attachEvent('on'+ev, fn);
    21         }else{
    22             obj.addEventListener(ev, fn, false);
    23         }
    24     }
    25     
    26     
    27 </script>
  • 相关阅读:
    c# udp局域网通信
    wpf 空白汉字占位符
    直角三角形知道变长求夹角
    windowsphone 的IsolatedStorageSettings存储类型
    WPFUIElement的Background的问题
    oracle外表
    oracle安装
    数据库ddl,dml,dcl
    OLTP与OLAP的介绍
    四种XML解析方式详解
  • 原文地址:https://www.cnblogs.com/xiayu25/p/6269652.html
Copyright © 2011-2022 走看看