[英]Disable Checkboxes in Sencha Touch
我正在尝试使用复选框使组件变灰/禁用。
field.setDisabled(true);
这在浏览器中可以正常工作,但是在iPhone和iPad设备浏览器中,它处于禁用状态且标签变灰,但仍使我们能够选择任何复选框。
有人知道如何实现吗?
提前致谢。
这可能是由于打开的BUG#135(禁用的复选框/单选按钮仍在工作)引起的 。
错误注释提供了几种解决方法之一(在Sencha Touch加载后,您可以将其放入其他JavaScript文件中的一个,如果还不存在,则应首先要求Ext.form.Checkbox
):
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);
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.