源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS delegate与live浅析

  • 时间:2021-04-08 04:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS delegate与live浅析
在jquery里有两个方法可以用来绑定自动追加出来的DOM对象,它们是live和delegate,事实上,这两个方法是bind方法的一个变体,在对于固定DOM对象时,我们通常使用bind就可以了,而对象动态产生的DOM对象,使用bind就无能为力了,这时live和delegate就出场了,呵呵。 live方法,用来绑定某个(某类)对象,为它们绑定方法
[u]复制代码[/u] 代码如下:
        //live             $("td").live("click", function () {                 alert($(this).html());             });            //下面也是可以的           $("#list td").live("click", function () {                  alert($(this).html());            });
delegate方法,用来绑定某个(某类)对象下的子对象,为子对象绑定方法(委托子对象,让子对象有某种方法,呵呵)
[u]复制代码[/u] 代码如下:
 $("#list").delegate("td", "click", function () {                 alert($(this).html());             });
下面的DEMO的完成代码:
[u]复制代码[/u] 代码如下:
<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 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>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部