的問題在這裏已經討論:中jquery droppable accept
而不是使用一個單一的選擇了接受,你可以使用一個功能,即必須返回true或false。在功能裏面,有很多方法可以達到你想要的行爲。我選擇了以下內容:
<div id="container">
<div class="dropbox" data-drop-id="db01"></div>
<div class="dropbox" data-drop-id="db02"></div>
<div class="dropbox" data-drop-id="db03"></div>
<div class="dropbox" data-drop-id="db04"></div>
<div class="dragbox" data-drag-id="db01"></div>
<div class="dragbox" data-drag-id="db02"></div>
<div class="dragbox" data-drag-id="db03"></div>
<div class="dragbox" data-drag-id="db04"></div>
</div>
JS與接受 - 函數,返回true或false:
$(".dropbox").droppable({
accept: function (myDragBox) {
var id_group_drop, id_group_drag;
//get the "id_group" stored in a data-attribute of the draggable
id_group_drag = $(myDragBox).attr("data-drag-id");
//get the "id_group" stored in a data-attribute of the droppable
id_group_drop = $(this).attr("data-drop-id");
//compare the id_groups, return true if they match or false otherwise
return id_group_drop == id_group_drag;
},
drop: function (event, ui) {
$(this)
.addClass("ui-state-highlight")
.html("Dropped!");
}
});
對我來說比較重要的是,drop和dragbox的id是一樣的。因此,我沒有使用id屬性,但我自己的數據-id屬性,因爲我喜歡我的ID是唯一的......
看到演示的位置:http://jsfiddle.net/u9w63y2q/1/
感謝差事這正是我尋找 – 2014-08-27 15:07:14
不要忘記遵循我的文章中的stackoverflow鏈接,也尊重亞歷克斯和morten的解決方案,因爲我所做的一切,進入jquery API文檔 - 看到,「接受」也接受函數和搜索的計算器溢出爲這一個;) – errand 2014-08-27 15:09:10