2016-07-08 24 views
0

Ich bin gerade mit Google Closure gestartet und versuche, den Abstand zwischen den Steuerelementen in einem goog.ui.Dialog anzupassen. Als Beispiel sind die Standardtasten in den goog.ui.Dialog.ButtonSet ein wenig enger zusammen:Wie kann ein Rahmen in Google Closure programmgesteuert festgelegt werden

enter image description here

Vom FireFox Debugger, ich auf die Komponente navigieren und manuell über die Grenze ändern, wie folgt aus:

enter image description here

Dies ergibt das gewünschte Ergebnis. Der Dialog sieht nun wie folgt aus:

enter image description here

Ich habe versucht, die Marge programmatisch mit wechselnden:

var okButton = dialog.getButtonSet().getButton(goog.ui.Dialog.DefaultButtonKeys.OK); 
    okButton.style.marginRightWidth = 8; 
    okButton.style.marginRight = 8; 

aber diese Werte nicht ändern wird, und auch nicht von der geändert werden Debugger.

Wie kann ich diesen Wert im laufenden Betrieb ändern? Oder ist das überhaupt möglich? Muss ich wirklich das zugrunde liegende Stylesheet ändern, um das zu erreichen?

+1

Meinen Sie margin zu setzen, anstatt borderRightWidth ? – JonSG

+0

Ja - danke. Aber das ändert auch nichts. Ich habe viele Kombinationen ausprobiert, und das scheint einfach kein praktikabler Weg zu sein, den Dialog zu ändern. Ich habe die Antwort jedoch so bearbeitet, dass sie die richtige Variable widerspiegelt. – Mike

Antwort

0

Eine Möglichkeit, den Abstand zu bearbeiten, besteht darin, zu reinem JavaScript zurückzukehren und die Closure-Klassen zu ignorieren. Der Debugger zeigt dies, wenn der Marge manuell im Debugger im Debugger geändert wird:

<button style="margin-right: 8px;" disabled="" class="goog-buttonset-default" name="ok">OK</button> 

Nach diesem Beispiel ist dieser Code ändert programmatisch den Abstand:

var okButton = dialog.getButtonSet().getButton(goog.ui.Dialog.DefaultButtonKeys.OK); 
okButton.style = 'margin-right: 8px;'; 
Verwandte Themen