我正在尝试为10张图片构建一个图像排名器。我希望用户能够将图像拖动到各自的单元格,如果他们改变主意,他们可以调整他们的选择。我的想法是每个单元格中不要有超过1个图像,所以我在丢弃时禁用了droppable但是我想在离开时重新启用。现在发生的是它第一次重新启用而不是第二次重启。
如果您尝试多次在两个单元格之间拖动图像,则可以重新创建此项。在第二次它被称为“重新启用”之后,它将永久禁用,不会让任何图像掉落在那里。
JSfiddle:http://jsfiddle.net/pdrjbb7e/2/
$(".drop").droppable({
accept: ".draggable",
out: function (event, elem) {
$(this).removeClass("over");
console.log("out");
$(this).prev().droppable("option", "disabled", false);
$(this).droppable("option", "disabled", false);
},
over: function (event, elem) {
$(this).addClass("over");
$(this).prev().droppable("option", "disabled", false);
$(this).droppable("option", "disabled", false);
},
drop: function (event, ui) {
$(this).removeClass("border").removeClass("over");
var dropped = ui.draggable;
var droppedOn = $(this);
//var numberElements = droppedOn.children().length+1;
$(this).droppable("option", "disabled", true);
$(dropped).detach().css({ top: 10, left: 45 }).appendTo(droppedOn);
}
});
我觉得这应该有用,因为我正在启用“out”和“over”?