开发者社区> 问答> 正文

on(), live(), bind() 之间有什么区别呢

jQuery中看着实现的效果都是一样的,不知道有什么具体区别呢?

展开
收起
小旋风柴进 2016-03-24 08:24:50 1861 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista

    bind是直接绑定在一个对象上。

    $('#foo').bind('click', function() {
        alert('User clicked on "foo."');
    });

    这个例子的是绑定在 #foo 这个元素上。点击#foo元素后执行回调函数。

    on方法是一个事件委托。

    $('#foo').on("click", "a", function(){ 
        alert("Goodbye!");
    });

    这个例子是委托在 #foo 这个元素上,点击 #foo 的子元素 a 标签才执行回调函数。

    live 方法是on方法的一种实现。

    $('a').live('click', function(){ 
        alert("Goodbye!");
    });
    $(document).on("click", "a", function(){ 
        alert("Goodbye!");
    });

    上面这两个方法完全相同,后者是前者的具体实现。

    2019-07-17 19:11:47
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
从 SDK 到编解码:视频直播架构解析 立即下载
《flutter live beijing》PPT分享 立即下载
视频直播架构解析 立即下载