0

我正在使用 jquery 做 ui。问题是,我创建了一个容器,里面有一个添加删除按钮

如果我单击它,add它只会一次附加到另一个 div。

如果我单击remove附加的 div 上的 ,它将被删除,并且可以再次将其添加到另一个 div 中,就好像事件处理程序已被删除一样。

我已经尝试过 .unbind 但它不适用于我的代码。

请在这里帮助我使用我的代码:

http://jsfiddle.net/8mNKN/

$(".more").one("click",function(e) {

        $(this).parent().clone().appendTo("#we");

    });

    $(document).on("click","#we .remove",function() {
        $('.more').unbind('click.MyNamespace');
        $(this).parent(".container").remove();
    });

<div class="container">
    <p>There are 0 boxes</p>

    <a href="#" class="more">Add more +</a>
    <a href="#" class="remove">Add more +</a>
</div>
<br/>
<div class="container">
    <p>There are 0 boxes</p>

    <a href="#" class="more">Add more +</a>
    <a href="#" class="remove">Remove -</a>
</div>
<br/>
<div class="container">
    <p>There are 0 boxes</p>

    <a href="#" class="more">Add more +</a>
    <a href="#" class="remove">Remove -</a>
</div>
<br/>
<div id="we">
</div>
4

1 回答 1

0

如果我正确理解了您的要求

$(".more").on("click",function(e) {
    var ct = $(this).closest(".container");
    if(ct.data('cloned')){
        return;
    }
    ct.clone().appendTo("#we").data('source', ct);
    ct.data('cloned', true);
});

$(document).on("click","#we .remove",function() {
    var ct = $(this).closest(".container");
    ct.data('source').data('cloned', false)
    ct.remove();
});

演示:小提琴

于 2013-07-12T08:29:29.453 回答