我正在尝试将背景按钮颜色从石灰绿色变回原始颜色。我现在已经有了实现这一目标的方法,但似乎必须有一种更有效的方法来实现这一目标。
function doGet(e) {
var app = UiApp.createApplication();
var productInfoButton = app.createButton("Products").setId('productInfoButton');
var handlerL = app.createServerClickHandler('prodCompleteHandlerL');
var productCompleteCheckBox = app.createCheckBox().setId("productCompleteCheckBox")
.setName("productCompleteCheckBox");
productCompleteCheckBox.addClickHandler(handlerL);
handlerL.addCallbackElement(productInfoButton);
app.add(productInfoButton);
app.add(productCompleteCheckBox);
return app;
}
function prodCompleteHandlerL(e) {
var app = UiApp.getActiveApplication();
if(e.parameter.productCompleteCheckBox == 'true'){
app.getElementById('productInfoButton').setStyleAttribute('background', 'lime')
}else{
app.getElementById('productInfoButton').setStyleAttribute('background', 'url("https://dl.dropbox.com/u/211279/hborder.png") repeat-x 0px -27px')
}
return app;
}
答案 0 :(得分:0)
更改类而不是直接更改背景选项是更可靠的方法。
在处理函数中使用background参数切换css类。
function clickHandler (e) {
e.target.className = 'lime';
}
function prodCompleteHandler (e) {
e.target.className = 'standart'
}
以下是代码示例:http://jsfiddle.net/Ysaxv/