我正在使用cordova/phonegap 开发一个应用程序。在我的登录页面上,表单位于屏幕底部附近。当用户聚焦一个元素时,我将表单移动到屏幕顶部,否则它最终会在键盘下方。
这是我的问题开始的地方。
在我的 Galaxy Nexus (4.2.2) 上使用已编译的 APK 或直接使用“浏览器”应用程序访问页面时,它表现出完全古怪的行为。
点击表单元素后,表单向上移动,键盘弹出......表单元素最终处于某种奇怪的半焦点状态。我通常可以输入,但没有光标或选择大纲显示,并且按退格键不会删除字符。其他时候,我可以在某处输入并输入...,但输入框中没有显示任何内容。
此页面在 iOS 7 上的 Safari 和桌面上的 Chrome 中运行良好。该页面在 Android 上的 Chrome 中运行良好。
标记:
<div class="form">
<input type="text" placeholder="focus me">
</div>
CSS:
.form {
position: absolute;
bottom: 15%;
left: 15%;
width: 70%;
}
input {
display: block;
width: 100%;
}
Javascript(使用 jQuery 2.0.3):
$(".form input").focus(function() {
$(".form").css({'bottom':'', 'top':'15%'});
});
$(".form input").blur(function() {
$(".form").css({'bottom':'15%', 'top':''});
});
有谁知道可能是什么原因造成的?这是旧 Webkit 版本中的已知错误吗?任何人都可以提出任何明智的解决方法吗?我一直在努力解决这个问题太久了。
谢谢你。