複数のソータブルがあり、互いに重なり合う可能性があります。Sortable は互いに接続されており、要素を別の要素にドラッグできます。また、これらの sortables にドラッグできる他のアイテムもあります。
プレースホルダーが完全に別のプレースホルダーの上にあるとき、私はトリッキーな部分を持っていました。これにより、要素を外側のコンテナーから内側のコンテナーにドロップできなくなりました。ソート可能なウィジェットを拡張し、コンテインメントではなく z-index をチェックするように少し変更しました。
if (innermostContainer && $.contains(this.containers[i].element[0],innermostContainer.element[0])){
に変更:
if (innermostContainer && parseInt(this.containers[i].element.css('zIndex')) < parseInt(innermostContainer.element.css('zIndex'))){
この問題にはうまく機能します。
次の問題は、アイテムをドラッグ可能なアイテムから内側のコンテナーにドラッグ アンド ドロップすると、2 つのプレースホルダーが表示され、両方をエラーで追加しようとすることです。
(以前の z-index 修正が適用されていない場合、ドラッグされたアイテムは内側のコンテナーに追加され、他のコンテナーにも追加されます) したがって、主に私の修正では、外側のコンテナーのアイテムが内側のコンテナーに配置されます。
どちらの効果も私にとっては悪いことですが、プレースホルダーとアイテムを 1 つだけ追加して、これを修正したいと思います。
どうすればいいのか解決策はありますか?
問題を示す例を作成しました: http://jsbin.com/irigas/1/edit