在jquery里有兩個(gè)方法可以用來綁定自動(dòng)追加出來的DOM對(duì)象,它們是live和delegate,事實(shí)上,這兩個(gè)方法是bind方法的一個(gè)變體,在對(duì)于固定DOM對(duì)象時(shí),我們通常使用bind就可以了,而對(duì)象動(dòng)態(tài)產(chǎn)生的DOM對(duì)象,使用bind就無能為力了,這時(shí)live和delegate就出場了,呵呵。
live方法,用來綁定某個(gè)(某類)對(duì)象,為它們綁定方法
復(fù)制代碼 代碼如下:
        //live
            $("td").live("click", function () {
                alert($(this).html());
            });
           //下面也是可以的           $("#list td").live("click", function () { 
                 alert($(this).html()); 
           });
復(fù)制代碼 代碼如下:
 $("#list").delegate("td", "click", function () {
                alert($(this).html());
            });
下面的DEMO的完成代碼:
復(fù)制代碼 代碼如下:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="jquery.js" type="text/javascript"></script>
    <script type="text/html">
        <tr>
            <td>[UserID]</td>
            <td>[UserImg]</td>
            <td>[UserName]</td>
        </tr>
    </script>
    <script type="text/javascript">
        var reg = new RegExp("http://[([^//[//]]*?)//]", 'igm'); //i g m是指分別用于指定區(qū)分大小寫的匹配、全局匹配和多行匹配。
        $(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>
    </div>
    <input type="button" value="click me" />
    <table>
        <tbody>
        </tbody>
    </table>
</body>
</html>
新聞熱點(diǎn)
疑難解答
圖片精選