JS delegate与live浅析

 更新时间:2013年12月21日 14:51:27   作者:  
这篇文章主要介绍了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="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>

相关文章

  • npm安装依赖时出现Peer Dependencies冲突报错解决分析

    npm安装依赖时出现Peer Dependencies冲突报错解决分析

    这篇文章主要为大家介绍了npm安装依赖时出现Peer Dependencies冲突报错解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 基于BootStrap实现局部刷新分页实例代码

    基于BootStrap实现局部刷新分页实例代码

    这篇文章主要介绍了基于BootStrap实现局部刷新的分页的相关资料,非常不错,代码简单易懂,具有参考价值,需要的朋友可以参考下
    2016-08-08
  • layui表格数据复选框回显设置方法

    layui表格数据复选框回显设置方法

    今天小编就为大家分享一篇layui表格数据复选框回显设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 微信小程序实现评论功能

    微信小程序实现评论功能

    这篇文章主要为大家详细介绍了微信小程序实现评论功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • TypeScript 中的 .d.ts 文件详解(加强类型支持提升开发效率)

    TypeScript 中的 .d.ts 文件详解(加强类型支持提升开发效率)

    .d.ts 文件在 TypeScript 开发中扮演着非常重要的角色,它们让我们能够享受到 TypeScript 强大的类型系统带来的优势,提高代码质量和开发效率,接下来,我们将深入探讨如何为 JavaScript 库和自定义模块创建 .d.ts 文件,以及一些最佳实践和注意事项,一起看看吧
    2023-09-09
  • 详解addEventListener的三个参数之useCapture

    详解addEventListener的三个参数之useCapture

    本文主要给大家介绍的是addEventListener的三个参数之中的useCapture参数的使用及示例分享,有需要的小伙伴参考下
    2015-03-03
  • 前端技巧之HTTP中POST提交数据四种方式

    前端技巧之HTTP中POST提交数据四种方式

    这篇文章主要为大家介绍了前端技巧之HTTP中POST提交数据四种方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 在Web关闭页面时发送Ajax请求的实现方法

    在Web关闭页面时发送Ajax请求的实现方法

    这篇文章主要给大家介绍了关于如何在Web关闭页面时发送Ajax请求的实现方法,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Python版实现微信公众号扫码登陆

    Python版实现微信公众号扫码登陆

    这篇文章主要介绍了Python版实现微信公众号扫码登陆,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • js控制文本框只输入数字和小数点的方法

    js控制文本框只输入数字和小数点的方法

    这篇文章主要介绍了js控制文本框只输入数字和小数点的方法,实例分析了javascript使用正则表达式实现限制数字和小数点的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03

最新评论