vue H5移动端;底部bottom固定定位,安卓弹起键盘导致页面变形如何解决?

在vue h5一个项目中,底部为固定定位,安卓端在页面中文本框input获取焦点时,手机自带的键盘会被唤起并且弹出来被键盘顶上去,漂浮于键盘上方。
我试着在加入以下代码

 mounted: function(){ 
    let screenHeight = document.body.clientHeight;
    let u = navigator.userAgent;
    let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
        if (isAndroid) {
            $("html,body").height(screenHeight);
        }

}

这样并没有解决,请问这种情况应该如何解决?

阅读 5k
3 个回答

已解决,思路是当弹起键盘时候改成相对定位,收起键盘时候恢复绝对定位

给定位部分加个状态,文本框input获取焦点时隐藏,失去焦点时再重新显示

handleFocus(e) {
    setTimeout(function() {
        e.target.scrollIntoView(true)
        e.target.scrollViewIfNeeded()
    }, 200)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题