2012-04-11 20 views
0

ソート可能な順番が変更されたときを検出する必要があります。ソートされたアイテムがどこから来るのかにかかわらず、変更イベントを発生させるためにこれが必要です。JQueryUI接続可能なソート可能なソート可能なソート可能なイベント

しかし、ui.sortableには、接続されたソート可能な別のソート可能なものから別のソート可能なものにドラッグするときにイベントを発生させないという不具合があるようです。

は考えてみましょう:

  1. ユーザーは、#Bをソート可能する以上にソート可能#Aから項目をドラッグし、まだそれをドロップしません。 ソート可能な#Aのイベント火災を変更する
  2. ユーザーは、Sortable#A内の項目をドラッグして並べ替え順序を変更します。ユーザーが変更イベントがソート可能#Aで毎回発射同じソート可能#A内から並べ替えを開始すると、対照的にhttp://screencast.com/t/rW4xj485OEc

NOTHINGは 例を発射しません。 http://screencast.com/t/uirpg1E5nA

まず、これはui.sortableの不具合のようです。第二に、誰も私がケーキを手に入れて食べる方法を提案していますか?必要ならば、私はui.sortableをフォークすることに満足しています。

+0

あなたはそれを移動していない限り、アイテムはまだ最初のソート可能なリストの一部とみなされるので、接続リストに変更はないと思います。あなたは 'over'イベントを試しましたか?あなたは何を達成しようとしていますか? – ori

+0

は、最初のホバー上でのみ発生します。このイベントは、実際にはChangeイベントによって既にキャプチャされています。ソート可能な注文のすべての変更中に私がする必要がある多くのことがあります。私はあなたが正しいと思うかもしれませんが、アイテムはまだ元のソート可能なものの一部と考えられているかもしれません。しかし、私はそれが意味をなさないことに同意しない。 ChangeEventは、順序や数の変更がソート可能な状態で発生したときに発生します。 – iDVB

答えて

0

変更イベントは実際には接続されたソート可能なイベントで1回だけ発生しますが、接続されたソート可能イベントの位置が変更されるたびに元のソート可能イベントが発生します。

は、あなたがacheiveしようとしているまさに、あなたが必要な情報を取得するイベントの組み合わせを使用することができますによってfiddle

を参照してください:

  • start$(ui.item)の現在のソート可能かを示します。
  • overには、アイテムがドラッグされた接続ソート可能($(this))が表示されます。
  • changeは、アイテムがソート可能な最後に移動したことを示します。over -edまたはstart -edです。

だから、そのデータの項目の現在のソート可能に格納し、start & overでそれを変更し、多分stopにそれを削除します。

私はあなたに同意しますが、それは簡単だったはずです。

関連する問題