我正在使用phonegap(Cordova)创建一个新的iphone应用程序,.I在我的app.If上有一个问题,我点击任何输入框,iphone键盘都会弹出来,而且整个页面的位置都在改变。像固定页脚是弹出上方的keyboard.Please指南我。
谢谢
发布于 2014-09-13 06:06:18
这是一个很难“正确”的问题。您可以尝试隐藏输入元素焦点上的页脚,并在模糊上显示,但这在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 media查询,以便在窗口高度缩小10个像素时隐藏页脚。因为打开键盘会调整浏览器显示的大小,所以这在iOS上从不会失败。因为它使用的是CSS引擎而不是JavaScript,所以它也更快更流畅!
注意:我发现使用'visibility:hidden‘比使用'display:none’或'position:static‘更容易出错,但你的里程数可能会有所不同。
https://stackoverflow.com/questions/16140273
复制相似问题