私はJQueryの並べ替え可能なグリッドを使用してきましたが、connectWith
オプションにリンクされた並べ替え可能なグリッドが2つ以上あると、ドラッグ/プレースホルダーが壊れてしまうという奇妙な問題が発生しました。これまでのところ、Chrome、Firefox、Safariで同じ動作をテストして確認しました。
ドラッグするとマウスの位置が無視され、プレースホルダーの位置がややランダムに表示されるように見えます。
例: http ://wilhall.com/tests/apptest.html
上記の問題は、グリッドが以下を使用して接続されていない場合に修正されますconnectWith
。
例: http ://wilhall.com/tests/apptest_2.html
本能的に、この質問を投稿するためにコードをjsfiddleにスローすることにしましたが、そうすると、jsfiddleで表示したときにエラーが発生しませんでした。
フィドル: http: //jsfiddle.net/B2ddx/1/
以下は、2つのソート可能なグリッドの構成オプションです。
$(".modules.app").sortable({
cursor: "move",
distance: 1,
revert: 100,
scroll: true,
tolerance: "intersect",
opacity: 0.6,
connectWith: ".modules.bin",
placeholder: "placeholder",
forcePlaceholderSize: true
}).disableSelection();
$(".modules.bin").sortable({
cursor: "move",
distance: 1,
revert: 100,
scroll: true,
tolerance: "intersect",
opacity: 0.6,
connectWith: ".modules.app",
placeholder: "placeholder",
forcePlaceholderSize: true
}).disableSelection();
サンプルページを更新して、jqueryとjquery-ui以外の外部CSSまたはJSを含めず、jsfiddleと同じjquery&uiバージョンを使用して、すべてがコーシャであることを確認しましたが、それでも問題は解決しません。
私はこれを引き起こしている可能性があることに本当に困惑しており、新しい解決策を試すときに更新を投稿し続けます。
更新:
JSFiddleでは、connectTo
オプションが正しく機能せず、実際にリストをリンクしていません。これが、問題が存在しない理由です。
また、ソート可能なli
要素がフロートされていない場合、問題は発生しません。
更新: 提案されたように、並べ替え可能なアイテムを含む要素の高さのパーセントを削除しました。これにより、問題は修正されましたが、別の要素が作成されました。高さがないと(コンテナーの高さが0になります)、アイテムを2つの並べ替え可能なグリッド間でドラッグできませんでした。
これを修正するために、ソート可能なコンテナーを追加float:left
または追加しようとしましたが、同じ問題が発生しました。height: 500px
問題を示す簡略化されたJSFiddle は次のとおりです。http: //jsfiddle.net/y8xrZ/
connectWith
呼び出しからオプションを削除する.sortable
と、問題は解消されます。このエラーは、を使用しているソート可能なコンテナに影響することに注意してくださいconnectWith
。したがって、この例では、コンテナーconnectWith
から削除するだけで、コンテナーの問題は#app
修正されますが、コンテナーの問題は修正されません。#app
#bin