Объект-клон не сбрасывается
Я пытаюсь клонировать сбрасываемый объект с помощью Jquery, но клонированный объект не сбрасывается.
$(document).ready(function(){
$("input[value='Add']").click(function(e){
e.preventDefault();
$("div.field:last").clone().insertAfter("div.field:last");
});
$(".field").droppable();
HTML
<div class="field">
Last Name<input type="text" value="" />
First Name<input type="text" value="" />
</div>
<div class="field">
Last Name<input type="text" value="" />
First Name<input type="text" value="" />
</div>
<input type="Submit" name="submit" value="Add" />
Firebug показывает, что клонированный объект также имеет класс ui-droppable, есть идеи, почему он не будет работать?
РЕДАКТИРОВАТЬ
Установка bool(true) или связывание клонированного объекта с помощью.droppable() также не работает
2 ответа
Решение
Я нашел способ для достижения этой цели, используя.live, я использую плагин .livequery, который очень похож на.live
Когда вы связываете "живое" событие, оно связывается со всеми текущими и будущими элементами на странице.
$("input[value='Add']").livequery("click", function(e){
e.preventDefault();
$("div.field:last").clone().insertAfter("div.field:last");
$("div.field").droppable();
Вам необходимо скопировать события в клон; проходить true
в clone()
:
$("div.field:last").clone(true).insertAfter("div.field:last");
Вам также может понадобиться скопировать некоторые данные из оригинала:
var original = $("div.field:last");
var clone = original.clone(true);
clone.data( 'droppable', jQuery.extend(true, {}, original.data('droppable')) );
/* Untested! */