我正在尝试使用Check Box使组件灰色/禁用。
field.setDisabled(true);
这在浏览器中运行良好,但在iPhone和iPad设备浏览器中,它会禁用并使标签变灰,但用户仍然可以选择任何复选框。
有人知道如何实现这个吗?
提前致谢。
答案 0 :(得分:0)
这可能是由于打开了BUG #135 (Disabled Checkboxes/Radiobuttons still working)。
对bug的评论提供了几种解决方法,其中之一是(在加载Sencha Touch之后,您可以将其放在其他一个JavaScript文件中,如果它还不存在,则首先需要Ext.form.Checkbox
):< / p>
Ext.override(Ext.form.Checkbox, {
onChange: function(e) {
if (e) {
if (e.browserEvent) {
e = e.browserEvent;
}
if (Ext.supports.Touch && !e.isSimulated) {
e.preventDefault();
e.stopPropagation();
return;
}
}
if(!this.isDisabled()){
if (this.isChecked()) {
this.lastState = true;
this.fireEvent('check', this);
} else {
this.lastState = false;
this.fireEvent('uncheck', this);
}
} else {
var state;
if(!Ext.isEmpty(this.lastState)){
state = this.lastState;
} else {
state = Ext.isEmpty(this.originalState) ?
this.getBooleanIsChecked(this.checked) : this.originalState;
}
this.setChecked(state);
}
}
});