如何在 Google 闭包中以编程方式设置边框

How can a border be set programatically in Google Closure

我刚刚开始使用 Google 闭包,我正在尝试自定义 goog.ui.Dialog 中控件之间的间距。例如,goog.ui.Dialog.ButtonSet 中的默认按钮靠得很近:

从 FireFox 调试器,我可以导航到组件并手动更改边框,如下所示:

这给出了预期的结果。对话框现在看起来像这样:

我试过以编程方式更改边距:

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

但是这些值不会改变,也不能从调试器中改变。

如何即时更改此值?或者这是否可能——我真的需要更改基础样式 sheet 才能完成此操作吗?

编辑间距的一种方法是回到直线 JavaScript,忽略闭包 类。调试器在调试器中手动更改边距时显示此信息:

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

按照该示例,此代码以编程方式更改间距:

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