1

jQuery Draggable オブジェクトがある場合

$('#drag-me').draggable({
  helper: 'clone',
  connectToSortable: '#sortable'
});

および接続されたソート可能

$('#sortable').sortable({
  receive: performMagic
});

このドラッグ可能なものが空のソート可能にドロップするのを防ぐことはできません。

Sortable自体にはオプション dropOnEmpty があり、false に設定すると、その sortable から空の sortable にアイテムをドロップできなくなります。しかし Draggable にはそのようなオプションがありません。

私はこれを試しました:

$('#sortable').sortable({
  start: function(e, ui) {
    if (ui.item[0].nodeName == 'IMG') {
       $(this).sortable('cancel')
     }
  }
});

私の場合、#drag-me 要素は画像ですが、Sortable 要素はそうではありません。performMagic 関数は、画像をソータブルが構成する TBODY 要素に正常に変換しています。しかし、結果には一貫性がありませんでした。操作を正常にキャンセルできる場合もあれば、他の場所で中断する場合もあります。

問題は、私は正しい軌道に乗っているかということです。Draggable が空のリンクされた Sortable にドロップされないようにする唯一の方法はありますか? 既存の Sortable-to-Sortable 動作を乗っ取る方法はありますか?

ティア・アル

4

1 に答える 1

0

receiveイベントでソート可能が空かどうかを確認できますか? 何かのようなもの:

$('#sortable').sortable({
  receive: function(event, ui) { 
    if ($('#sortable').children().length > 0) {
        // PerformMagic...
    }
  }
});
于 2011-03-17T09:13:13.020 に答える