使用 PGB 我的 Javascript 应用程序可以知道键盘何时打开吗?
我有一个页面,其文本框略低于页面垂直中间。当用户将焦点设置到该文本框时,键盘会打开并覆盖文本框最上面的 2 或 3 个像素以外的所有像素。
如果我能知道键盘何时打开以及焦点所在的元素,我可能会手动滚动它们一些......
使用 PGB 我的 Javascript 应用程序可以知道键盘何时打开吗?
我有一个页面,其文本框略低于页面垂直中间。当用户将焦点设置到该文本框时,键盘会打开并覆盖文本框最上面的 2 或 3 个像素以外的所有像素。
如果我能知道键盘何时打开以及焦点所在的元素,我可能会手动滚动它们一些......
我不确定phonegap,但我在Android的webapp中遇到了类似的问题。
打开虚拟键盘时(在 Android 设备上),将window.onresize
调用该事件。您可以在应用程序启动时存储视口的原始高度,以便稍后知道虚拟键盘是打开还是关闭(基于视口的当前高度)。
无论如何,由于输入元素有问题,您也可以使用onfocus
andonblur
事件。
您还需要确保在您的 Android 清单中拥有:
android:windowSoftInputMode="adjustResize"
在节点中。
本质上,正如w4rumy 所提到的,这基本上会触发 window.onresize 事件
在 PhoneGap 中获得 onDeviceReady 后,请尝试:
document.addEventListener("hidekeyboard", keyboardHide, false);
document.addEventListener("showkeyboard", keyboardShow, false);
您可能还需要:
<plugin name="SoftKeyBoard" value="org.apache.cordova.plugins.SoftKeyBoard" />
在您的 res/xml/plugins.xml Android 项目文件中。