jQueryUI - 即使在拖放后拖动拖动回到原始位置

问题描述:

我有一个可拖动的元素,我拖入各种可拖动区域之一。不过,我希望可拖动项目总是返回到其原始位置,即使它被拖入可投放区域(可拖放区域将可拖动区域放在它们上面时处理它们自己的事件)。有没有办法做到这一点?jQueryUI - 即使在拖放后拖动拖动回到原始位置

我注意到从draggable中的stop()函数返回true或false影响它的返回到原始位置以及它是否触发droppable的drop()函数。有没有办法分开处理这些问题?

+0

如果您从droppable元素上的放置事件返回false,该怎么办? – jeschafe 2012-07-16 22:48:36

+0

这似乎没有影响任何东西。将此添加到draggable的stop()结尾只会使该拖动在调用后不可移动。 – theeggman85 2012-07-16 22:52:02

它有点一个黑客,但是,当你拥有它是否下降或者不

$('yourelement').draggable({revert:true}); 

将恢复它,不管。它仍然会触发droppable元素上的drop事件。

+0

正是我在找的,谢谢! – theeggman85 2012-07-16 23:12:08

+0

我不认为这是一个'黑客'。它是如何在jQuery示例中完成的:https://jqueryui.com/draggable/#revert – stack247 2016-06-28 04:11:09

你想让你的droppables接受其他元素吗?如果没有,你可以可投放的“接受”选项设置为“假”

$('.foo').droppable('option','accept',false); 
+0

这适用于返回可拖动的内容,但之后由于显而易见的原因,它不会调用drop()。有没有办法解决这个问题? – theeggman85 2012-07-16 23:09:42