繁体   English   中英

禁用Sencha Touch中的复选框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM