У меня есть динамическая веб-страница, где я использую Jquery« draggable »&« droppable ».
Я пытаюсь переместить один элемент из одного «родителя» в другой.
Jquery `detach()` и `append` для нового родителя
Когда я делаю «console.log», я вижу, что элемент имеет новый родительский элемент.
Но когда я позже добавлю больше HTML-контента в DOM, элемент не будет перемещаться с новым родителем. Он привязан к позиции смещения «документ».
Как я могу это решить?
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);
},
});
, когда вы добавляете его t o другой элемент, вы удаляете его из дерева текущего родителя –
@VictorFerreira ok, отлично! Но почему выпавший элемент не перемещается с родителем при перемещении родителя? –