互いに接続された 2 つの並べ替え可能なリストを表示するコード スニペットがあります。すべてがうまく機能しています。
デモ - jsFiddle の例
デモでは、文字はソート可能の先頭、末尾、またはその間にドロップされます。一般に、すべての文字はスクイーズされ、空白はありません。それは sortable の自然な動作です。しかし、今は別の方法で文字を移動 (ドラッグ & ドロップ) したいと考えています。
位置 3 から文字を移動したいと思います [たとえば、文字 N] 左側ではなく、下のリストの位置 3 にドロップします。そして、ソート可能なリスト[現在はNの文字がありません]がスクイズされないようにしたいのですが、それらの間のギャップはそのままにしておく必要があります。文字/空白を互いに並べ替えることができるように、ul要素で並べ替え可能な動作を維持したいことを除いて、ギャップを他の場所に移動しますが、同じ並べ替え可能なリストでのみです。
私はli要素のスパンでそれをやろうとしましたが、リストを切り離してドラッグ可能とドロップ可能だけを使用しましたが、それを正しくする方法がわかりません。私は2つの方法を試しました。
FIRST : li 要素にスパンを追加して、li 要素がある種のバケツになるようにします (各バケツには 1 つの文字のみを含めることができます)。そして、次を追加するだけです:
$("#letters li span").draggable({
connectToSortable: "#subword",
revert: "invalid"
});
$("#subword li span").draggable({
connectToSortable: "#letters",
revert: "invalid"
});
しかし、ドラッグアンドドロップ先のli要素内ではなく、ソート可能の最後にスパンを置くだけです。
SECOND : li ドロップ可能およびスパン ドラッグ可能に追加しますが、i は li でソート可能を使用できません。私は常にliの上にあるspan要素をドラッグします。
私は行き止まりになっているので、誰かが私を助けてくれませんか。何かがよく説明されていない場合は、質問してください。前もって感謝します!