私はJquery" draggable "を使用する動的Webページを持っています&" droppable "。
私は1つの要素を1つの「親」から別の要素に移動しようとしています。
新しい親にJquery `detach()`と `append`を追加しました
「console.log」とすると、要素に新しい親があることがわかります。
しかし、後でDOMにさらに多くのHTMLコンテンツを追加すると、その要素は新しい親と一緒に移動しません。それは "ドキュメント"オフセット位置に固執しています。
どうすればこの問題を解決できますか?これについて
FIDDLE
https://jsfiddle.net/0apuqnxd/13/
JS
//Make elements Draggable
$('.elementsDiv').draggable({
revert: 'invalid',
});
var flakUpId = $('#1').attr('id');
$('#btnAddDropZone').on('click', function() {
flakUpId++;
var flakUp = "<div class='flakUp'>DropZone " + flakUpId + " </div>";
$('#dropZones').prepend(flakUp);
})
$('.flakUp, .flakDown').droppable({
accept: '.elementsDiv',
drop: function(event, ui) {
var droppable = $(this);
var draggable = ui.draggable;
//Detach element from DOM
draggable.detach();
//Append element to droped position and into new parent?
draggable.css({
"left": ui.offset.left,
"top": ui.offset.top,
"position": "absolute"
}).appendTo(droppable);
},
});
追加すると他の要素、それを現在の親のツリーから削除する –
@VictorFerreira大丈夫です!しかし、なぜドロップされた要素は、親が移動したときにその親と一緒に動かないのでしょうか? –