Mam element dający się przeciągnąć z zestawem helper: 'clone'
, ale gdy klony elementu, żaden z data()
lub zdarzeń nie są trwałe w nowym elemencie.Podczas klonowania obiektu przeciągalnego w jQuery UI, w jaki sposób można przenieść dane i zdarzenia do nowego elementu?
Próbowałem na kilka sposobów, aby ponownie podłączyć data()
, ale nie mogę wybrać nowego elementu, jak również starego elementu w tej samej instrukcji.
Na przykład, można wybrać początkowy element Draggable stop()
imprezy:
$blah.draggable({
helper: 'clone',
stop: function(ev, ui) {
var oldData = $(ev.target).data('blah');
}
});
I mogę też dostać nowy element w droppable drop()
imprezy:
$blah.droppable({
drop : function(ev, ui) {
var $newElement = ui.draggable;
}
});
ale mogę wymyślić sposób, aby uzyskać oba w tym samym wydarzeniu.
Co chciałbym zrobić to w jakiś sposób przesłać dane np:
$newElement.data('blah', $oldElement.data('blah'));
lub w inny sposób dane trwałe, jak można z $blah.clone(true);
Ponownie przeczytaj pytanie, "ui.draggable" nie wydaje się być nowym elementem, o którym wspomniałeś, ale raczej oryginałem. –
Hej, to naprawdę postawiło mnie na dobrej drodze, ponieważ okazuje się, że problem polegał na tym, że łączyłem go z sortable(), w którym powstał problem. Zamieszczam poniżej moje rozwiązanie. Ale dziękuję za pomoc w tej sprawie! –
Cóż, jeśli używasz sortable może to być pomocne: http://stackoverflow.com/questions/5788391/jquery-how-to-update-draggable-clone-id/5864644#5864644 –