【发布时间】:2014-03-13 00:02:47
【问题描述】:
我正在开发一个移动网络应用程序,当输入字段被聚焦时,我遇到了 Android 软键盘的问题。
当我聚焦输入字段时,会出现软键盘。在 Windows Phone 上(在 7.8 上测试)整个页面,所以整个 DOM 上升为软键盘腾出空间。对于 Android(以及在 Google Chrome 上),一些元素会留在原处,而其他元素会在软键盘打开时上升。我怎样才能让整个 DOM,或者实际上是页面的孔体向上为 Android 上的软键盘腾出空间(我还没有在 iOS 上测试过)。
以下是 Android 键盘打开时的几张截图:
正常时页面的外观如下:
这是打开软键盘时的样子:
我怎样才能得到这个效果?:
【问题讨论】:
-
也许css会有所帮助。如果您使用的是固定位置,那就是问题所在。
-
我使用绝对位置,不是固定的。但是如果没有绝对,页面就会变得疯狂,到处都是漂浮的元素。包含所有内容的主要包装器具有位置:absolute.
-
尝试更改它并测试是否有变化。我无法确定浏览器将如何解释这些位置,但我很确定这就是问题所在。
-
好吧,我已经在 iOS 上测试过了,它工作得很好。所以只有 Android 会引起麻烦(没想到……在 HTC One 上测试过)。包装器具有绝对位置,以及标题、徽标等,但它们必须具有绝对位置才能留在正确的位置。我真的不知道该怎么办。
-
每个浏览器的实现方式都不同,因此 Android 不会在显示键盘后调整绝对位置。尝试在 document.ready() 上使用它---> $('#appMain').resize();
标签: javascript android html css keyboard