我正面临拖拽的问题。这就是小提琴。http://jsfiddle.net/dJyUQ/16/
有4个盒子(A,B,C,D),都是可丢弃的。".item“div是可拖动的,可以放在4个可拖放的文件中的任何一个上。
我希望只有一个副本的项目是下降的一个可丢弃。因此,当我再次尝试将项目的副本放到同一个droppable上时,它不会允许我这样做。目前,我已经插入了一个警报。但我想取消或恢复拖动。
我想我遗漏了什么,请帮帮我。我搜索了jquery ui dragging和droppable,但什么也没找到。
发布于 2011-10-13 15:41:23
将您的drop代码更改为:
drop: function(event, ui){
if($(this).children(".itemcopy").size() > 0) {
alert("cancel"); //Instead want to cancel dragging of item
return false;
}
$(this).append("<div class='itemcopy'>"+ui.draggable.html()+"</div>");
}
http://jsfiddle.net/dJyUQ/18/
发布于 2011-10-13 15:42:34
您可以使用this blog article中的这个技巧:使用revert: function(socketObj)
下面是一个有效的示例:http://jsfiddle.net/dJyUQ/16/
编辑Richard的答案要好得多。我将回答如何在revert
方法中使用函数(我发现这是一个好主意,请阅读本文)。
发布于 2011-10-13 16:09:42
将drop代码更改为以下代码
drop: function(event, ui){
if(!($(this).children(".itemcopy").size() == 1)) {
$(this).append("<div class='itemcopy'>"+ui.draggable.html()+"</div>");
}
}
https://stackoverflow.com/questions/7750675
复制相似问题