2012-07-31 67 views
3

我設置了一個可拖動的界面,使用jQuery進行拖放操作。我有一個高大的對象(400px x 50px),我想放入一個小錨點(100px x 100px)。看起來,爲了「下降」和「結束」事件發生,至少有一半的拖拽容器必須位於可拖拽容器的邊界內,在這種情況下不會發生這種情況,因爲拖拽的容器要大得多。有沒有辦法減少這種限制,以便這些事件會發生?jquery droppble需要較少的重疊

回答

5

我相信你正在尋找的tolerance選項:http://jqueryui.com/demos/droppable/#option-tolerance

$(".selector").droppable({ tolerance: "touch" }); 

你可能還喜歡pointer值:

$(".selector").droppable({ tolerance: "pointer" }); 

更新

如果你想限制某些droppables只能在特定的放置區落下,然後您可以設置scope選項:

$(".selector-1").droppable({ scope: "tasks" }); 
$(".selector-2").draggable({ scope: "tasks" }); 

與上面相同的文檔鏈接將提供有關此選項的更多信息。

+0

Touch實際上是我正在尋找的選項,但有沒有辦法強制它只選擇一個可拖放的容器?容器足夠大,可以跨越多個錨之間的距離。 – mrK 2012-07-31 21:08:29

+0

查看**更新**到我的回答,你很可能想要使用'scope'選項。 – Jasper 2012-07-31 21:11:22

+0

好想法,但這並不完全。我認爲貪婪可能會這樣做,但這只是嵌套控件。我想我可以對它進行編碼,我只是在尋找一個快速的答案。謝謝! – mrK 2012-07-31 21:13:55