2013-07-12 171 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

哇,它的工作完美,謝謝阿倫,我不會被終止,非常感謝:)更多賜予你力量 –