jquery sortableには次の問題があります。
の要素のコンテナがありますoverflow-x: scroll
。並べ替え可能なアイテム ( display: block
) と (幅 > コンテナーの幅) が含まれています。
コンテナが左端までスクロールされていれば、ソートに問題はありません。
しかし、右にスクロールすると、ドラッグを開始すると、ソート可能な要素が右にジャンプします。その結果、要素は右端にあります..しかし、マウスはドラッグ中に要素の左端にあります..
親がスクロールされているため、jqueryui が要素の初期オフセットを正しく取得できないようです。
しかし、興味深いのは、これが最初のドラッグでのみ発生することです。2 回目にドラッグしようとすると、正しく配置されます。そして再び..ページをリロードすると、最初のドラッグで間違った位置が設定されます..また、change
イベントが発生すると、要素は適切な正しい位置に戻ります..したがって、問題は最初のドラッグ中にも修正できます.
問題を説明するビデオを作成しました: http://youtu.be/h1mBLAmYtgk
var conf = {
helper: function (e, ui) {
var helper_scope;
helper_scope = ui.scope();
helper_scope.$apply(function () {
helper_scope.project.open = false;
});
return ui;
},
opacity: 0.4,
tolerance: 'pointer',
forcePlaceholderSize: true
};
elm.sortable(conf);