私がやっていることを理解していただけるように、説明を簡略化します。2 つの div があり、ここに示すようにポートレットをセットアップしましたが、ポートレットを動的に挿入していますが、大きな問題はありません。
<div id="mainallapplicant" class="myrow"></div>
<div id="contingent_right" class="myrow"></div>
ここにJavaScriptがあります
$( ".myrow" ).sortable({
connectWith: ".myrow",
revert: true,
beforeStop: function( event, ui ) {}
});
mainallapplicant に最大 1 つの droppable のみを許可しようとしています。既に存在する場合は、確認ダイアログを表示し、回答に応じてドロップをキャンセルするか、既存のアイテムを移動して新しいアイテムに置き換えます。以下を試しましたが、どこにも行きません。
$( ".myrow" ).sortable({
connectWith: ".myrow",
revert: true,
start: function(event, ui) {
if ($(this).prev().find(".portlet").length == 1) {
ui.sender.draggable("cancel");
}
},
stop: function(event, ui) {
if ($(this).prev().find(".portlet").length == 1) {
ui.item.remove();
// Show an error...
}
}
});