jQuery UI sortable: Move-Klon, aber halten Sie original
Nun habe ich eine Spalte von Elementen, und ich habe es bis zu dem Punkt, wo, wo ich ziehen, es Klone, aber wenn ich fallen, so löscht das original.
$( ".column" ).sortable({
helper: 'clone',
connectWith: ".column",
connectWith: ".grid",
start: function(e, ui){
ui.placeholder.height(ui.item.height());
$(".column" ).find('.portlet:hidden').show()
console.log('started')
},
stop: function(event, ui) {
$(ui.helper).clone(true).removeClass('box ui-draggable ui-draggable-dragging').addClass('box-clone').appendTo('body');
}
});
Wie kann ich das original behalten, wo seine an (ohne re-anfügen an die Spalte) und die Klon-Bewegung an die gewünschte Position?
- Hüten Sie sich auf ungültige HTML (doppelte IDs) bei der Nutzung
clone()
. - Diese Frage ist sehr ähnlich und hat eine tolle Antwort-Blick auf die top-gewählt, nicht das akzeptiert man.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
$(this).sortable('cancel')
im inneren der stop-event-handler, um wieder das Einzelteil zurück zu der ursprünglichen Liste/position. http://api.jqueryui.com/sortable/#method-cancelUPDATE:
Anhängen, das element der zweiten Liste in der Lage, die Sache wurde fallen, tun Sie etwas wie folgende:
Sehen fiddle für die vollständige demo
$('.list2').children().eq(idx).after(elm);
. Ich denke, das ist etwas effizienter als auch (nach den docs).connectWith
Eigenschaft in $.fn.sortierbare definition.