ドラッグ アンド ドロップで再配置できる要素のリストを作成しようとしています。最初の要素であるボックス 1 は、100% の確率で正常に機能します。2 番目のボックスが機能する場合もありますが、他のボックスは期待どおりに機能しません。ドラッグを開始するとすぐに、すべてのドラッグ イベントが一度に発生するようです。
問題がある場合は、最新の Chrome (v23) を使用しています。
var $questionItems = $('.question-item');
$questionItems
.on('dragstart', startDrag)
.on('dragend', removeDropSpaces)
.on('dragenter', toggleDropStyles)
.on('dragleave', toggleDropStyles);
function startDrag(){
console.log('dragging...');
addDropSpaces();
}
function toggleDropStyles(){
$(this).toggleClass('drag-over');
console.log(this);
}
function addDropSpaces(){
$questionItems.after('<div class="empty-drop-target"></div>');
console.log('drop spaces added');
}
function removeDropSpaces(){
$('.empty-drop-target').remove();
console.log('drop spaces removed');
}
HTMLは次のとおりです。
<div class="question-item" draggable="true">Box 1: Milk was a bad choice.</div>
<div class="question-item" draggable="true">Box 2: I'm Ron Burgundy?</div>
<div class="question-item" draggable="true">Box 3: You ate the entire wheel of cheese?</div>
<div class="question-item" draggable="true">Box 4: Scotch scotch scotch</div>
ここに私のコードの jsFiddle があります: http://jsfiddle.net/zGSpP/5/