我想做的是交换不同 div
元素中的元素。这是我的代码:JSfiddle
每个 div
只能放置一个元素。如果 drop_
div 已删除元素并且可删除元素从 #tire_deck
中删除,则必须拒绝它。如果元素从其他 div
中删除,则必须交换它。任何人都可以帮助我实现这一目标吗?
最佳答案
我采用的方法是在拖动开始时存储可拖动父项,然后使用它来确定我是交换子项还是停止操作。
这是 fiddle :
和 javascript:
$(function () {
var origin;
$(".tire").draggable({
appendTo: "body",
cursor: "move",
helper: 'clone',
revert: "invalid",
start: function (event, ui) {
origin = event.target.parentNode;
}
});
$("#tire_deck").droppable({
tolerance: "intersect",
accept: ".tire",
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
drop: function (event, ui) {
$("#tire_deck").append($(ui.draggable));
}
});
$(".drop_1, .drop_2, .drop_3, .drop_4, .drop_5, .drop_6").droppable({
tolerance: "intersect",
accept: ".tire",
drop: function (event, ui) {
if (this.children.length == 0) {
$(this).append($(ui.draggable));
} else {
if (origin.id !== "tire_deck") {
event.stopPropagation();
var copyNode = $(this).children().detach();
$(this).append($(ui.draggable));
$(origin).append(copyNode);
} else {
alert("Stopped!");
}
}
}
});
});
关于javascript - jQuery UI 交换不同 div 元素中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16276768/