您的位置:首页 > 移动开发 > WebAPP

手机浏览器浏览WebApp弹出的键盘遮盖住文本框的解决办法

2016-06-22 15:01 766 查看
最近碰到Android微信内置浏览H5页面,因为其中的文本输入框(input)放置在靠近页面的中下方,点击文本框以后,则输入框会被弹出的手机输入法键盘遮盖住。

找到一段js代码直接解决之,点击时强制滚动之,好像也解决了在Android浏览器下浏览的同样问题。

if(/Android [4-6]/.test(navigator.appVersion)) {
window.addEventListener("resize", function() {
if(document.activeElement.tagName=="INPUT" || document.activeElement.tagName=="TEXTAREA") {
window.setTimeout(function() {
document.activeElement.scrollIntoViewIfNeeded();
},0);
}
})
}


补充一段代码:对于某些页面,由于页面设计底部可能有工具栏(比如某些页面固定了一个footer在底部),这时候虽然系统计算出来不需要滚动,但弹出输入法时,底部的工具栏却移动上去正好遮盖住输入框(常见于输入框正好在页面中部的情况)。
这时候可以通过判断屏幕高度变化来隐藏该底部工具栏。

<script type="text/javascript">
document.write( '<style>#footer{visibility:hidden}@media(min-height:' + ($( window ).height() - 10) + 'px){#footer{visibility:visible}}</style>' );
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: