1
我使用Sencha Touch 2,我有一个按钮声明,在事件点击我想改变它的文本属性。如何以编程方式更改按钮的Text属性?
这是我的代码,不工作..任何想法如何解决它?
var accessibilityButton = {
id: 'accessibilityButton',
xtype: 'button',
ui: 'custom-btn-confirm',
maxWidth: '360px',
centered: true,
flex: 1,
scope: this,
style: 'color: #ffffff',
text: 'Larger Text',
handler: function changeStyle() {
// Swap the CSS for Accessibility
var i, a, url, btn;
btn = document.getElementById('accessibilityButton');
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1) {
url = a.href;
if(url.lastIndexOf('app.css') !== -1) {
a.href = 'resources/css/app-accesibility.css';
btn.innerHTML = 'Default Text';
}
else {
a.href = 'resources/css/app.css';
btn.innerHTML = 'Larger Text';
}
}
}
}
};
我已经尝试过不起作用。它说对象没有方法...任何想法? – GibboK
哦,我没有注意到你将按钮上的范围设置为别的东西。你可以摆脱范围或尝试: Ext.getCmp('accessibilityButton')。setText('Default Text'); – chinabuffet
或者,您更容易将处理函数的签名更改为changeStyle(btn),然后执行btn.setText('Default Text'); –