Wenn Sie in einem XUL-Kontextmenü auf ein Element klicken, ist die Ereigniszielreferenz auf die , auf die Sie geklickt haben. Aber was ist, wenn Sie einen Verweis auf das ursprüngliche Zielelement wünschen? Das heißt, das Element, auf das Sie mit der rechten Maustaste geklickt haben, um das Menü überhaupt zu erzeugen?
Dies ist unglaublich einfach, da Firefox eine Eigenschaft bietet, die genau diese Referenz enthält. Es heißt Popupnode und ist eine Eigenschaft des Dokuments. Der einfachste Weg, es zu verwenden, besteht darin, es durch das Befehlsereignis des Menüelements zu gelangen:
zu erben, wenn Sie das Flex -Attribut zu den meisten XUL -Elementen hinzufügen, werden sie erweitert, um den verfügbaren Speicherplatz zu füllen. Aber Flex wird vererbt, daher werden seine Kinder auch erweitern, was in einigen Fällen sehr unerwünscht ist. Wenn das untergeordnete Element beispielsweise ein ist, möchten Sie, dass es genaue Dimensionen hat. Es gibt jedoch keine Möglichkeit, den geerbten Flex explizit zu negieren. Spawn einen Dialog aus dem Chrom-Lastereignis
Wenn Sie das Fenster verwenden. Operieren Sie, um einen Dialog mit den Modal- und Centorscreen-Funktionen aus dem Chrom-Last-Ereignis zu leiten Dies liegt daran, dass der Dialog vor der festgelegten Größe des Fensters positioniert ist, sodass die Immobilie des Zentrens nicht wie erwartet funktioniert. Das gleiche Problem tritt bei der Warnungsfunktion auf, die ein Problem sein kann, wenn Sie es als schnelles und schmutziges Debugging -Tool verwenden. Dies stellt sicher, dass das Hauptfenster vor dem Dialogfeldgröße dimensioniert ist. Daher wird es richtig positioniert: