我已经放置了2个容器,使容器一个覆盖在另一个容器上。但是,当我将一个项目放到容器1上时,丢弃的项目会进入两个容器。我该如何限制?
//JS Code:
$("div.draggable").draggable({
helper: "clone",
cursor: "move",
containment: 'body'
});
$("div.droppable").droppable({
addClasses: false,
drop: function (event, ui) {
var $draggable = $(ui.draggable),
$droppable = $(this);
$droppable.html($draggable.clone());
}
});
答案 0 :(得分:0)
谢谢@Nal,但对我没什么用,所以我创造了这个黑客。
一旦项目被放到上面,我会用元素存储一些数据。不幸的是,数据与Droppables一起存储,我无法隔离。
$("div.droppable").droppable({
addClasses: false,
drop: function (event, ui) {
var $draggable = $(ui.draggable),
$droppable = $(this);
$droppable.data({'drop': true, 'draggable': $draggable});
}
});
但是一旦物品掉落,我就可以找出我正在徘徊的掉落物。
$('div.droppable').hover(function() {
if ($(this).data('drop') === true) {
$(this).html($($(this).data('draggable')).clone());
// Clears the data from both droppables to avoid duplicating the item in them
$('div.droppable').data({'drop': false, 'draggable': false});
}
});