当在android中打开软键盘时,视口会自动调整大小以适应屏幕(设备高度 - 键盘高度)。在iOS7中,视口被简单地向上推(上半部分没有显示)。
虽然它可能是某些应用程序所需的行为,但它对我来说效果不佳 - 顶部导航栏被隐藏,我的内容是一个可滚动的div - 我希望用户能够一直滚动起来。
键盘打开/关闭时调整机身手册的大小会导致抖动行为
知道如何解决这个问题吗?
答案 0 :(得分:0)
我有完全相同的要求。解决方案是在显示键盘时降低车身高度和固定内容区域移动的混合。这就是使用jQuery代码的样子:
$(document).on("focus", "input, textarea", function() {
$(‘html’).addClass("keyboard");
setTimeout(function() {
window.scrollTo(0,0);
document.body.scrollTop = 0;
}, 0);
});
$(document).on("blur", "input, textarea", function() {
$(‘html’).removeClass("keyboard");
});
和相应的CSS:
body {
position: absolute;
top: 0;
bottom: 0;
}
.keyboard body {
bottom: 240px; /* exemplarily value */
}
需要调整底部值以匹配iPhone纵向,iPhone横向,iPad纵向和iPad横向上的正确键盘高度。
我暂时没有测试过这段代码,所以也许你可以检查一下这是否适用于你而没有任何闪烁?如果我没记错的话,我在Mobile Safari中有轻微的闪烁,但它在原生WebView中运行良好。