実証された問題: http://jsfiddle.net/VLvj9/1/
htmlで
<table>
<tbody class="sortme">
<tr><td>Foo</td></tr>
<tr><td>Bar</td></tr>
<tr><td>Really long and annoying table row, try to sort me!</td></tr>
</tbody>
</table>
そしてjqueryui
$(".sortme").sortable({
containment: "parent",
tolerance: "pointer"
}).disableSelection();
いずれかの長い行をドラッグして並べ替えようとすると、親コンテナーの幅が狭くなります。ヘルパーは、新しい小さな親によって画面から押し出され、並べ替えることができません。
containment
これは、属性がないと発生しません。イベントでプレースホルダーの幅を変更しstart()
て親の幅を維持することはできますが、その時点までにコンテインメント情報が既に設定されているようで、ヘルパーは同じ動作を示します。
コンテインメントが期待どおりに機能するように、親に幅情報を維持させる方法はありますか?
この質問は同じ動作を指していると思います:
テーブル行でソート可能なjQueryUIは、ドラッグ中にそれらを縮小します
私の問題は、テーブル コンテンツが ajax 呼び出し (ユーザー <input> コンテンツのステータス チェック) によって取り込まれ、幅がページの有効期間中に任意に変更される可能性があるため、td またはテーブルに px 幅を設定できないことです。