我正在使用 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
最佳答案
这些事件来自 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' 事件....
关于javascript - "showkeyboard"事件来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23873256/