jQueryUI ziehbar sets "position: relative" auf meinem draggable divs

Ich bin mit einer ungeraden problem mit jQuery draggable an diesem morgen, ich Frage mich, ob jemand über diesen.

Habe ich viele kleine divs in einem großen div. Sie werden absolut positioniert: "position:absolute" in der CSS für Ihre Klasse, mit der tatsächlichen position selbst berechnet und gesetzt in JS-on-demand.

Nun bin ich das hinzufügen von Funktionalität zu ermöglichen, diese divs werden ziehbar.

Aber, sobald ich eines gezogen werden kann, ist es gegeben "position:relative" direkt auf das element, die, wie Sie sich vorstellen können, ernsthaft vermasselt die auf dem Bildschirm positionieren.

Weiß jemand, warum es ändert sich die "position" oder wie man es sagen, nicht?

EDIT:

Nur klar, dass es ist eine offensichtliche Antwort, starrte mir ins Gesicht !wichtig auf meiner position:absolute! Dies scheint, um es zu beheben. ABER ich bin immer noch interessieren, ob jemand weiß, warum es die sets "position: relative" wie diese (und auch nicht machen es konfigurierbar oder erst prüfen, ob es benötigt position)...ich Frage mich, was für Probleme ich habe gerade gespeichert für mich selbst 😉

  • Welche version verwenden Sie? Und wie sind Sie initialisieren? Ziehbar unterstützt sowohl die absolute und die relative Positionierung. Doppel überprüfen Sie den code, standardmäßig ist das der einzige Grund, es sollte festgelegt werden, zu relativen, wenn keine position festgelegt ist, die auf das element.
  • Cheers Nal. Ich bin mit der 1.7.2. Die position festgelegt ist, in der Klasse, nicht auf das element, und ohne die draggable auf das element, kann ich sehen, in der Chrome-debugger ist es "position: absolute" berechnet. Und es funktioniert. Wenn ich die gezogen werden kann, um es "position: relative" auf das element angewendet wird, direkt. Dies kann ein jquery bug dann, wo es sein sollte, mit getComputedStyle, die position zu finden.
  • Das ist eine wirklich alte version. Sie sollte wohl ein upgrade auf 1.8 und sehen, ob das einen Unterschied macht. Sind Sie mit der helper ziehbar option oder andere Optionen? Aber trotzdem, die einzige Linie, wo position:relative gesetzt ist, wird hier
  • Ich stieß auf das gleiche problem heute. Der Grund war, dass ich die Anwendung draggable() auf einem dynamisch erzeugten element. Ich wurde 'später' anfügen an dom. Das element sollte in dom wenn Sie draggable() (wenn die Formatvorlage wird angewendet durch eine Klasse). Kurz gesagt, wenn es findet keine position befestigt, die mit der element fügt es relative.
  • Dieses Problem ist vorhanden, genau so, wie oben beschrieben, 1.10.2 und manifestiert sich in ie10 auf Win7 und das element wurde bereits Hinzugefügt, um den DOM mit einer Klasse die Angabe von position:absolute und Werte für top und left, wenn draggable angewendet wird. Einstellung $("#foo")[0].Stil.Position=""; unmittelbar nach dem Aufruf ziehbar verrechnet wird das effektive problem, auch wenn ich weiß wirklich nicht, warum dies geschieht.
  • Nein, ich sagen, eine Lüge, die Klassen angewendet wurden unmittelbar nach dem Aufruf ziehbar und Sie sind 100% richtig, das hält es aus Einstellung der position.
  • Ich sah dieses Verhalten auf Chrome und Safari, aber nicht in Firefox. Jashwant s Vorschlag oben behoben das problem sofort bei mir in allen 3 Browsern.

InformationsquelleAutor Oli Comber | 2012-08-30
Schreibe einen Kommentar