点击Ext.Form.Select时隐藏键盘

时间:2012-01-16 10:09:38

标签: cordova sencha-touch extjs

我正在寻找点击选择时触发的事件,但我找不到它。 我也在寻找隐藏键盘的方法。

这样做是因为我在面板中有一个TextField和一个Select,如果用户在TextField中写入内容然后使用Select,我想隐藏键盘。

有人可以帮我找到解决这个问题的方法吗?

谢谢

2 个答案:

答案 0 :(得分:1)

我遇到了类似问题,并通过自定义“选择”字段解决了该问题。请参阅How to create a select field in Sencha Touch like the iPhone ringtone screen

此字段允许您为maskTap事件编码,并且不显示屏幕键盘。请注意,该项目也无法获得焦点。

答案 1 :(得分:0)

好吧,我终于设法做了我想做的事情:

隐藏键盘

function hideKeyboard() {
     var activeElement = document.activeElement;
     activeElement.setAttribute('readonly', 'readonly'); 
     activeElement.setAttribute('disabled', 'true');
     Ext.defer(function() {
         activeElement.blur();
         activeElement.removeAttribute('readonly');
         activeElement.removeAttribute('disabled');
     }, 100);
}

检测选择器何时显示(与选择字段录制时相同)

Ext.Picker.override({
    show: function() {
        if (Ext.is.Phone) { 
            hideKeyboard();
        }
        Ext.Sheet.superclass.show.apply(this, arguments);
    }
});

你去吧