美文网首页
jQuery事件代理绑定:delegate

jQuery事件代理绑定:delegate

作者: 夏_至 | 来源:发表于2015-09-05 22:37 被阅读689次

    jQuery对于已有的元素绑定事件只要简单的

    $("#id").bind('click',function(){
    //do something
    })

    而如果对于已经加载完成页面,再添加元素,而后还需要重新绑定事件。例如像扫雷这样的网页,如果动态的改变雷区的大小,由4*4变成8*8那么就需要给所有雷点重新绑定事件,而delegate可以针对一个元素作为代理,通过这个元素的关系,预先绑定所需元素的事件。

    <div id='mine_field '>
    <div class='mine'></div><div class='mine'></div><div class='mine'></div>……
    </div>
    <script>
    $("#mine_field").delegate(" .mine",'click',function(){
    //do something
    })
    </script>

    百度:

    定义和用法
    delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
    使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
    语法
    $(selector).delegate(childSelector,event,data,function)

    参数:
    childSelector
    必需。规定要附加事件处理程序的一个或多个子元素。

    event
    必需。规定附加到元素的一个或多个事件。
    由空格分隔多个事件值。必须是有效的事件。

    data
    可选。规定传递到函数的额外数据。

    function
    必需。规定当事件发生时运行的函数。

    相关文章

      网友评论

          本文标题:jQuery事件代理绑定:delegate

          本文链接:https://www.haomeiwen.com/subject/zafrcttx.html