• JS~delegate与live


    在jquery里有两个方法可以用来绑定自动追加出来的DOM对象,它们是live和delegate,事实上,这两个方法是bind方法的一个变体,在对于固定DOM对象时,我们通常使用bind就可以了,而对象动态产生的DOM对象,使用bind就无能为力了,这时live和delegate就出场了,呵呵。

    live方法,用来绑定某个(某类)对象,为它们绑定方法

             //live
                $("td").live("click", function () {
                    alert($(this).html());
                });
               //下面也是可以的
               $("#list td").live("click", function () { 
    alert($(
    this).html());
    });

    delegate方法,用来绑定某个(某类)对象下的子对象,为子对象绑定方法(委托子对象,让子对象有某种方法,呵呵)

     $("#list").delegate("td", "click", function () {
                    alert($(this).html());
                });

    下面的DEMO的完成代码:

    <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script>
        <script id="listTemplate" type="text/html">
            <tr>
                <td>[UserID]</td>
                <td>[UserImg]</td>
                <td>[UserName]</td>
            </tr>
        </script>
        <script type="text/javascript">
            var reg = new RegExp("\[([^\[\]]*?)\]", 'igm'); //i g m是指分别用于指定区分大小写的匹配、全局匹配和多行匹配。
    
            $(function () {
                //live
                $("#list td").live("click", function () {
                    alert($(this).html());
                });
    
                $("#addFun").click(function () {
                    var html = document.getElementById("listTemplate").innerHTML;
                    var source = html.replace(reg, function (node, key) { return { 'UserImg': '1', 'UserName': 'zhang', 'UserID': '1' }[key]; });
                    $("#list").append(source);
                });
    
            });
        </script>
    </head>
    <body>
        <div id="comment_ul_2">
        </div>
        <input type="button" id="addFun" value="click me" />
        <table id="list" border="1">
            <tbody>
            </tbody>
        </table>
    </body>
    </html>
  • 相关阅读:
    oracle中文乱码问题
    并发登录查询
    AJAX 笔记
    jQuery笔记
    js BOM 笔记
    HTML DOM笔记
    JS函数笔记
    js笔记
    json笔记
    css3笔记
  • 原文地址:https://www.cnblogs.com/lori/p/3484833.html
Copyright © 2020-2023  润新知