2012-07-16 88 views
2

我有一個可拖動的元素,我拖入各種可拖動區域之一。不過,我希望可拖動項目總是返回到其原始位置,即使它被拖入可投放區域(可拖放區域將可拖動區域放在它們上面時處理它們自己的事件)。有沒有辦法做到這一點?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

回答

12

它有點一個黑客,但是,當你擁有它是否下降或者不

$('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

0

你想讓你的droppables接受其他元素嗎?如果沒有,你可以可投放的「接受」選項設置爲「假」

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

這適用於返回可拖動的內容,但之後由於顯而易見的原因,它不會調用drop()。有沒有辦法解決這個問題? – theeggman85 2012-07-16 23:09:42

相關問題