将事件绑定到尚未创建的DOM元素(jquery)

时间:2010-08-02 21:42:02

标签: jquery html dom

如何将事件绑定到脚本加载时不存在的html元素?

我的脚本的一部分将这些添加到DOM:

<a class="btn-remove-item" href="">link</a>

问题是我不能这样做:

$(document).ready(function(){

    $(".btn-remove-item").click(function(){
        this.parentNode.removeChild(this);
    });
});

..我认为因为首页加载时DOM元素不存在。

我应该如何将事件绑定到myClass?

4 个答案:

答案 0 :(得分:24)

jQuery.live()已被弃用。以下是使用jQuery.on()代替的接受答案:

$(document).on('click', '#btn-remove-item', function() {
    this.parentNode.removeChild(this);
});

答案 1 :(得分:3)

jQuery live() function执行此操作:

$("#btn-remove-item").live('click', function() {
    this.parentNode.removeChild(this);
});

答案 2 :(得分:1)

jQuery.live()就是您所需要的。

$(document).ready(function(){

    $("a.myClass").live('click', function() {
        this.parentNode.removeChild(this);
    });
});

试一试http://jsfiddle.net/mwR8g/

答案 3 :(得分:-1)

$(document).ready(function(){
     $(".btn-remove-item").live('click', function() {
        this.parentNode.removeChild(this);
    });
});

您需要使用直播。