このエラーは、div.sortableを別のdiv.sortableにネストした結果であるため、新しい要素をドロップすると、ソートが2回発生します。私が思いついた回避策は、特定のドロップで追加された要素の数を数え、「deleteMe」というクラスを複製に追加するだけです。
次に、ソートの最後に$( "。deleteMe")。remove()を呼び出して、余分なものを削除します。
理想的ではありませんが、私にとってはうまくいくようです。 http://jsfiddle.net/JUnA7/72/
$(function() {
var dropCount=0;
$(".sortable").sortable({
connectWith: ".sortable",
cursor: 'pointer',
receive: function(event, ui) {
dropCount=dropCount+1;
if(dropCount>1)
$(ui.item).addClass("deleteMe");
console.log(dropCount);
},
start: function(event, ui) {
dropCount=0;
var placeholders=0;
$(".ui-sortable-placeholder").each(function(){
placeholders=placeholders+1;
if(placeholders>1)
$(this).height(0);
});
},
stop: function(event, ui) {
$(".deleteMe").remove();
dropCount=0;
}
});
$(".draggable").draggable({
handle: ".icon-move",
connectToSortable: ".sortable",
appendTo: "body",
helper: 'clone',
distance: 30
});
});
更新しました
また、並べ替えのプレースホルダーも重複していることに気付きました。そこで、高さを0pxに設定して、重複を削除しました。
start: function(event, ui) {
dropCount=0;
var placeholders=0;
$(".ui-sortable-placeholder").each(function(){
placeholders=placeholders+1;
if(placeholders>1)
$(this).height(0);
});
}