欢迎来到夜的世界

莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生.料峭春风吹酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴。
扩大
缩小

事件委托(事件代理)

    什么是事件委托     

   通俗的讲,事件就是 onclick , onmouseover , onmouseout, 等 就是事件,委托就是让别人来做.这个事件本来就是加在某些元素上的,然而你却加到别人身上来做,完成这个事件.

  例如 :举个列子:有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款。这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收。

      原理 : 利用冒泡的原理,把事件加到父级上,触发执行效果.

   作用 :

    1 . 性能更好 

    2 . 针对新创建的元素,直接可以拥有事件.

   事件源 : 跟 this 作用一样(不看指向问题,谁操作的就是谁) , event 对象下的.

      使用情景 : 

    1 . 为DOM重很多元素绑定相同的事件;

    2 . 为DOM重尚不存在的元素绑定事件

   示例 : 

<body>
        <ul>
            <li class="luffy">路飞</li>
            <li>路飞</li>
            <li>路飞</li>
            
        </ul>
</body>
<script src="jquery-3.2.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    
    //通过on()方法
     $('ul').on('click','#namei,.luffy',function(){
        console.log(this);
       })
            
   //未来追加的元素 
    $('ul').append('<a id="namei">娜美</a>')

}
</script>

    语法 : 

on(type,selector,data,fn);

    解释 : 在选定的元素上绑定一个或者多个事件处理函数.

    type(String) : 一个或多个空格分隔的事件类型

    selector(String) : 一个选择器字符串,用于过滤出被选中的元素中能触发事件的后代元素.

    data : 当一个事件被触发时,要传递给事件处理函数的 event.data

    fn : 回调函数.

 

posted on 2018-10-04 18:45  二十四桥_明月夜  阅读(240)  评论(0编辑  收藏  举报

导航