Ich habe ein sortierbares Element in einem anderen sortierbaren Element. Beide sind miteinander verbunden. Nach dem Beispiel Markup:
%Vor% Was ich versuche ist, mehrere Objekte zwischen .parent
s und #container
zu ziehen.
Nachfolgend ist das JS:
%Vor%Folgendes
mit dem ganzen Code ( Ich entfernte den Code zum Anhängen von Elementen, um den Code zu minimieren, da dies für die Platzhalterposition nicht relevant ist ) zeigt das Problem, vor dem ich stehe:
Ich kann Elemente von .parent
folgendermaßen in die #container
ziehen:
#container
wie unten gezeigt:
#container
durch den Raum zwischen .parents
( Dies ist ein wenig schwierig, funktioniert aber, wenn das Zentrum genau über dem Raum liegt), wie unten gezeigt:
Aber Wenn ich ein Element nach draußen ziehe, erscheint der Platzhalter nicht auf der rechten Seite von #container
, auch wenn ich das Element direkt darüber bewege.
Erwartete Ausgabe:
Aktuelles Ergebnis:
Wie in der Abbildung gezeigt, befindet sich der Platzhalter innerhalb von .parent
, obwohl das Objekt nicht in #container
enthalten ist.
Von dem, was ich versuchte, ist das Problem mit dem folgenden:
%Vor% Wo blende ich die ausgewählten Elemente mit display:none
aus, was möglicherweise zu Fehleinschätzungen mit jQuery UI führt.
Also habe ich versucht zu aktualisieren und refreshPositions im Start -Ereignis als in diesem JSFiddle , was die erwartete Ausgabe erzeugt, aber den Platzhalter in den beiden anderen Szenarien nicht mehr korrekt in #container
anzeigt.
Ich möchte Objekte von .parent
nach #container
von
#container
#container
durch den Abstand zwischen .parents
#container
Randnotiz: Die meisten sortierbaren Optionen werden hinzugefügt, während Sie versuchen, das Problem zu beheben CSS-Dimensionen dienen nur zu Demonstrationszwecken, diese können bei Bedarf hinzugefügt oder entfernt werden.
Update: Das scheint ein Bug zu sein, den ich hier gemeldet habe. Das jQuery UI-Team hat geantwortet, dass alle Interaktionen neu geschrieben werden. Hoffentlich wird das in der nächsten Version behoben.
In meinem Code ist es fast zu einer Konvention geworden, diesen schlecht dokumentierten Hack nur auf die Callback-Funktionen over
und out
von Sortable anzuwenden:
Dadurch wird sichergestellt, dass die Positionen aktualisiert werden. Im Gegensatz zu den integrierten Methoden refresh
und refreshPositions
scheint dies zu funktionieren.
Könnten Sie diesen Ansatz ausprobieren und sehen, ob er das Verhalten von Sortierbar verbessert?
Tags und Links javascript html jquery jquery-ui jquery-ui-sortable