2013-07-12 136 views
0

我正在做u.i使用jquery。关键是,我创建了一个容器具有按钮添加删除内。jquery添加和删除解除绑定

如果我点击add它会追加到另一个div只有一次,然后。

如果我点击附加的div上的remove它将被删除,并且它可以再次添加到另一个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> 

回答

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(); 
}); 

演示:Fiddle

+0

哇,它的工作完美,谢谢阿伦,我不会被终止,非常感谢:)更多赐予你力量 –