通过ipad虚拟键盘将Extjs输入隐藏在焦点上

时间:2016-01-13 09:51:30

标签: ios ipad extjs virtual-keyboard

我有一个EXTJS(4.0.7)Web应用程序,我必须将其作为iPad应用程序包装(ios 9.1)。

屏幕分为边框布局,但每当我单击文本字段时,虚拟键盘会上升,应用程序的南部区域完全不在适当位置(见图)。

这似乎是一个很好的IOS知道错误,但我发现的所有修复都是较小的应用程序/框架,您可以完全控制html / css。

解决方案通常涉及向文本字段添加侦听器(焦点/模糊),以便每当键盘显示页脚/南区域的CSS被更改时。

我添加了一个Override,每当文本字段获得焦点/模糊时总是被调用,但我不知道我必须做些什么来解决问题。

Ext.require('Ext.form.field.Text', function () {
// fix for shell south region when input gains focus triggering virtual keyboard
    if (Ext.is.iPad) {
        var keyboardFix= {
            onFocus: function () {
                //TODO keyboardFix
                this.callParent();
            },
            onBlur: function () {
                //TODO remove keyboardFix
                this.callParent();
            }
        }

        Ext.form.field.Text.override(keyboardFix);
    }
});

input hidden by virtual keyboard

1 个答案:

答案 0 :(得分:1)

整个应用程序调整大小并且它打破了布局,因此,如果您检测到应用程序在iPad上运行,则会停止窗口调整大小事件。 把它放在覆盖javascript文件中:

Ext.onReady(function() {
    Ext.EventManager.onWindowResize(function () {
        if(Ext.is.iPad){
            return false;
        }
    });
});