2010-08-21 151 views
0

我有以下簡單的代碼,在那裏我雙擊一個div(與級集裝箱),它是簡單地克隆本身內部的div內(id爲遏制,包裝) :克隆一個div,然後從孩子再次克隆

HTML

<span class="container">div one</span> 

<div id="containment-wrapper"> 
</div> 

jQuery的

$(".container").dblclick(function() { 

     $(this).clone().appendTo('#containment-wrapper'); 
}); 

當我雙擊原來的div,它本身克隆並提出遏制,包裝內一個div但是當我雙擊克隆DIV,它不會做任何事情,即使它有類=容器,這是爲什麼發生了什麼?我嘗試了許多不同的方法來克隆它,但沒有任何工作。

回答

2

這是因爲該事件處理函數不是克隆。使用delegate代替:

$(".container").delegate("","dblclick",function() { 
    $(this).clone().appendTo('#containment-wrapper'); 
}); 
2

因爲DBLCLICK是無界的新的div。你想達到什麼可以live

$(".container").live('dblclick', function() { 

     $(this).clone().appendTo('#containment-wrapper'); 
}); 
1

輕鬆完成既然你動態添加div標籤,他們不會自動綁定到您指定的.dblclick功能。使用事件處理程序是一種解決此問題的方法。