我正在使用 PhoneGap,我需要在 Android 手机上捕获“键盘正在显示”事件。
我发现一些线程说要使用“showkeyboard”事件。 (例如这个:显示隐藏键盘在 Android PhoneGap 中无法正常工作 https://stackoverflow.com/questions/11686368/show-hide-keyboard-is-not-working-propery-in-android-phonegap)
我的问题:这是一个可以与phonegap一起使用的android事件吗?这是一个简单的电话间隙事件吗?这是浏览器事件吗?这是一个经典的 javascript 事件吗?
我没有找到任何关于此事件的文档,我需要它,因为它也在方向改变时触发......
编辑:我发现了这个,说它来自 android 但未记录:https://issues.apache.org/jira/browse/CB-6154 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”事件做了同样的事情。希望这会有所帮助。
[编辑]还有另一个问题(哎呀!):键盘可能略有不同。如果键盘变小:会触发“hidekeyboard”事件......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)