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

    概念:

      什么是事件委托:通俗的讲,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。
      举个列子:有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款。这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收。

    原理:

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

    作用:

    1.性能要好
    2.针对新创建的元素,直接可以拥有事件

    事件源 :

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

    使用情景:

      •为DOM中的很多元素绑定相同事件;
      •为DOM中尚不存在的元素绑定事件;

    Jquery的事件委托

    复制代码
    $(function(){ 
        $('#ul1,#ul2').delegate('li','click',function(){ 
            if(!$(this).attr('s')) { 
            $(this).css('background','red'); 
            $(this).attr('s',true); 
            }else { 
                $(this).css('background','#fff'); 
                $(this).removeAttr('s'); 
            } 
        }) 
    });
    复制代码

    最新on()方法取替了delegate()方法

    $(function(){ 
            $('#ul1,#ul2').on('click','li',function(){ 
                    if(!$(this).attr('s')) { 
                    $(this).css('background','red'); 
                    $(this).attr('s',true); 
                    }else { 
                            $(this).css('background','#fff'); 
                            $(this).removeAttr('s'); 
                    } 
            }) 
    });

    转自:http://www.cnblogs.com/thinksasa/p/3941739.html

  • 相关阅读:
    HDU 1247
    [转载]亲密接触VC6.0编译器
    [转载]你该学什么程序语言
    ACE学习2009116
    新东方英语学习二
    电脑族吃什么比较好
    爱默生生活的准则
    成大事必备9种能力9种手段9种心态
    [转载]句柄和指针
    关于WM_CREATE消息
  • 原文地址:https://www.cnblogs.com/chrdai/p/6721574.html
Copyright © 2011-2022 走看看