我正面临拖延问题。这是小提琴。 http://jsfiddle.net/dJyUQ/16/
有4个盒子(A,B,C,D),都是可放置的。 “.item”div是可拖动的,可以放在4个droppables中的任何一个上。
我只想在一个droppable上删除一个项目副本。因此,当我再次尝试在同一个droppable上删除项目副本时,它不允许我。目前我已插入警报。但我想取消或恢复拖动。
请帮助我,因为我觉得我错过了什么。我搜索了jquery ui拖动和放置插件但找不到任何东西。
答案 0 :(得分:3)
将您的代码更改为:
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>");
}
答案 1 :(得分:1)
您可以使用this blog article中的此技巧:使用revert: function(socketObj)
以下是一个工作示例:http://jsfiddle.net/dJyUQ/16/
[编辑]理查德的回答要好得多。我将在revert
方法中使用函数留下我的答案(我发现这是一个好主意,看看文章)。
答案 2 :(得分:1)
将删除代码更改为以下
drop: function(event, ui){
if(!($(this).children(".itemcopy").size() == 1)) {
$(this).append("<div class='itemcopy'>"+ui.draggable.html()+"</div>");
}
}