“showkeyboard”活动来自哪里?

时间:2014-05-26 15:19:29

标签: javascript android events cordova

我正在使用PhoneGap,我需要在Android手机上看到“键盘显示”事件。

我发现一些线程说要使用“showkeyboard”事件。 (例如:Show hide keyboard is not working propery in android phonegap

我的问题:这是一个可用于phonegap的Android事件吗?这是一个简单的phonegap活动吗?这是一个浏览器事件吗?这是一个经典的javascript活动吗?

我没有找到关于此事件的任何文档,我需要它,因为它也会触发方向更改......

编辑:我发现了这个,说这是来自android但没有记录:https://issues.apache.org/jira/browse/CB-6154

1 个答案:

答案 0 :(得分:1)

这些活动来自 Android ,但未记录。我遇到了一些麻烦所以我建议不要使用它们。

有关信息,为了使我的功能有效,我做了类似的事情(这只是一般的想法):

this._keyboardTimer;

document.addEventListener('showkeyboard', function (e) {
    clearTimeout(this._keyboardTimer); // keep only the last event
    this._keyboardTimer = setTimeout(function(oldOrientation){
        if (oldOrientation != getOrientation()) { 
            /* this is an orientation event */
        } else { 
            /* keyboard is really opening */
        }
    }.bind(this, getOrientation()), 200);
}.bind(this), false);

function getOrientation() {
    return ( (window.orientation == 90) || (window.orientation == -90) ) 
            ? 'landscape' 
            : 'portrait';
};

我对'hidekeyboard'活动做了同样的事情。希望这会有所帮助。

[编辑]还有另外一个问题(yirk!):键盘可能略有不同。如果键盘变小则:'hidekeyboard'事件被触发....