【发布时间】:2016-04-08 07:38:43
【问题描述】:
我的问题是获取被放置元素的位置。
我在.draggable上使用stop:option 来获得新职位。
$('.elementsDiv').draggable({
revert: 'invalid', //Revert when drop fails
helper: 'clone', //Drag a clone
stop: function() {
//Dropped position.
Stoppos = $(this).position();
}
});
当拖动时,我想从它的父元素中删除元素,并将其附加到它的新父元素。
这是我用.droppable做的
$('.flakUp, .flakDown').droppable({
accept: '.elementsDiv',
drop: function (event, ui) {
//get dragged element
var draggedElement = $(ui.draggable);
//get dropZone
var dropZone = $(this);
//Remove element from list and append it to dropZone
draggedElement.detach().appendTo(dropZone.position(Stoppos));
//Make element draggable
draggedElement.draggable();
}
});
当我删除/追加时,新位置将在左上角。
所以我必须从.draggable 获取放置位置,并在.droppable 放置函数中使用它来将元素移动到放置它的位置。
这是我的问题开始的地方!
在控制台中我得到:Stoppos 未定义。
我猜 droppable-drop 在 draggable-stop 之前执行?!
我该如何解决这个问题?
由于索引问题,我需要创建一个克隆。因此我还需要删除/附加元素。
【问题讨论】:
标签: javascript jquery css jquery-ui