Frage

Ich versuche, ein abwerfbaren Objekt mit JQuery zu klonen, aber das geklonte Objekt ist nicht abwerfbaren.

$(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 zeigt, dass das geklonte Objekt der Klasse ui-abwerfbaren und hat keine Ahnung, warum es nicht funktionieren würde?

Bearbeiten
Einstellen bool (true) oder das geklonte Objekt Chaining mit .droppable () nicht funktioniert entweder

War es hilfreich?

Lösung 2

Ich fand einen Weg, dies zu erreichen, indem die .live verwenden, ich bin mit einem Plugin .livequery die Funktionen ganz ähnlich mit .live

  

Wenn Sie ein „live“ Ereignis binden wird es für alle gegenwärtigen und zukünftigen Elemente auf der Seite binden

$("input[value='Add']").livequery("click", function(e){
e.preventDefault();
$("div.field:last").clone().insertAfter("div.field:last");
$("div.field").droppable();

Andere Tipps

Sie müssen die Ereignisse an den Klon kopieren; geben true clone() :

$("div.field:last").clone(true).insertAfter("div.field:last");

Sie können auch über einige Daten aus dem Original kopieren müssen:

var original = $("div.field:last");
var clone = original.clone(true);
clone.data( 'droppable', jQuery.extend(true, {}, original.data('droppable')) );
/* Untested! */
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top