0
我正在使用phonegap(cordova)创建一个新的iphone应用程序。我在我的应用程序中遇到了一个问题。如果我单击任何输入字段,则会弹出iphone键盘,并且整个页面位置也正在改变。像固定页脚弹出键盘上方。请引导我。iPhone上的键盘弹出问题的电话应用程序?
谢谢
我正在使用phonegap(cordova)创建一个新的iphone应用程序。我在我的应用程序中遇到了一个问题。如果我单击任何输入字段,则会弹出iphone键盘,并且整个页面位置也正在改变。像固定页脚弹出键盘上方。请引导我。iPhone上的键盘弹出问题的电话应用程序?
谢谢
这是一个很难得到'正确'的问题。您可以尝试隐藏输入元素焦点上的页脚,并显示模糊,但在iOS上这并不总是可靠的。每隔一段时间(例如,在我的iPhone 4S上,十次中的一次)焦点事件似乎无法触发(或者可能存在竞争条件),并且页脚不会隐藏。
大量的试验和错误后,我想出了这个有趣的解决方案:
<head>
...various JS and CSS imports...
<script type="text/javascript">
document.write('<style>#footer{visibility:hidden}@media(min-height:' + ($(window).height() - 10) + 'px){#footer{visibility:visible}}</style>');
</script>
</head>
主要为:使用JavaScript来确定设备的窗口高度,然后动态地创建一个CSS媒体查询隐藏页脚时窗口的高度缩小10个像素。由于打开键盘会调整浏览器显示的大小,因此iOS永远不会失败。因为它使用CSS引擎而不是JavaScript,所以它更快更顺畅!
注意:我发现使用'visibility:hidden'比'display:none'或者'position:static'更小,但是你的里程可能会有所不同。
使用滚动视图并将所有对象添加到滚动视图中,并在单击文本框时设置滚动视图的内容偏移量。 – Balu 2013-04-22 05:55:53
你能解释一下细节吗? – Arunkumar 2013-04-22 06:06:52