Ich habe ein dojox.layout.FloatingPane (als ein benutzerdefiniertes Dijit), das irgendwo innerhalb seines einschließenden div positioniert werden kann. Mein Problem ist, dass der Benutzer das FloatingPane möglicherweise vollständig aus seinem Container ziehen und nicht abrufen kann. Gibt es eine einfache Möglichkeit, die FloatingPane jederzeit vollständig sichtbar zu machen?
Hier ist mein Code:
%Vor%Sehen Sie sich zunächst das Arbeitsbeispiel unter jsFiddle an: Ссылка
Und jetzt eine Erklärung;) Die DnD-Funktionalität von FloatingPane
wird über die dojo.dnd.Moveable
-Klasse erreicht, die in der Methode postCreate
des Bereichs instanzialisiert wurde. Um die Bewegung von FloatingPane
einzuschränken, sollten Sie stattdessen eines dieser beweglichen Elemente verwenden:
dojo.dnd.parentConstainedMoveable
- zum Beschränken auf einen DOM-Knoten dojo.dnd.boxConstrainedMoveable
- zum Beschränken auf Koordinaten: {l: 10, t: 10, w: 100, h: 100} dojo.dnd.constrainedMoveable
- um durch Koordinaten zu bestimmen, die in einer bereitgestellten Funktion berechnet werden Weitere Einzelheiten finden Sie in der oben genannten jsFiddle .
Gemäß der Dokumentation sollten Sie destroy()
auf Moveable
instance aufrufen, um sie zu entfernen, aber da FloatingPane
original Moveable
keiner Objekteigenschaft zugewiesen ist, zerstöre ich sie nicht, ich instanziiere nur eine dieser drei moveables
für denselben DOM-Knoten in einer Unterklasse:
Jetzt können Sie ConstainedFloatingPane
anstelle von dojox.layout.FloatingPane
verwenden:
Tags und Links dojo