jQuery UI を使用して、2 つのスクロール可能なコンテナーを持つインターフェイスを作成しようとしています。それぞれに多くのドラッグ可能な要素が含まれています。ユーザーは、あるコンテナから別のコンテナに要素をドラッグできます。
ドロップ機能は問題ありません。ドロップすると、要素は切り離され、新しい親の下の適切な場所に再作成されます。
私の問題は、コンテナがposition:relative;
適用されたときにドラッグ可能な要素をコンテナの外に表示できないことです。そのため、ドラッグ中にコンテナの境界の外に移動すると要素が消えます。
通常、ユーザーは要素をコンテナ内にドラッグするため、このデフォルトの動作は理にかなっています。回避策として、ドラッグ可能なプロパティ「appendTo」を使用することで解決できると想定していましたが、これにより要素がコンテナの外に移動すると考えられましたが、残念ながらこれは効果がないようです。
DOM: (各ビューはスクロール可能で、各コンテナーには position:relative があり、すべての要素を保持するのに必要な大きさです)
BODY
VIEW 1
CONTAINER
DRAGGABLE ELEMENTS
VIEW 2
CONTAINER
DRAGGABLE ELEMENTS
Javascript:
$('div.card').draggable({
appendTo: 'body',
scroll: false //stops scrolling container when moved outside boundaries
});
問題の簡単な説明については、JSFiddle を参照してください。ドロップ可能なコードで例を肥大化したくなかったので、これはドラッグの問題を示しているだけです。http://jsfiddle.net/Em7Ak/
よろしくお願いします。