在手机空白应用程序中打开软键盘时是否会触发javascript事件?

时间:2012-07-23 10:01:14

标签: cordova javascript-events android-softkeyboard

使用PGB可以让我的Javascript应用程序知道键盘何时打开?

我有一个页面,其文本框略低于垂直中间的页面。 当用户将焦点设置到该文本框中时,键盘会打开并覆盖文本框中最顶部的2或3个像素以外的所有像素。

如果我知道键盘何时打开以及哪个元素具有焦点,我可以手动滚动它们...

3 个答案:

答案 0 :(得分:1)

我不确定phonegap,但我在Android的webapp中遇到了类似的问题。

打开虚拟键盘(在Android设备上)时,会调用window.onresize事件。您可以在应用程序启动时存储视口的原始高度,以便稍后了解虚拟键盘是打开还是关闭(基于视口的当前高度)。

无论如何,由于输入元素存在问题,您还可以使用onfocusonblur事件。

答案 1 :(得分:1)

在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项目文件中。

答案 2 :(得分:1)

您还需要在Android清单中确保您拥有:

android:windowSoftInputMode="adjustResize"

在节点中。

基本上 w4rumy 提到这将基本上触发window.onresize事件