关于安卓客户端 软键盘弹出后,导致底部按钮看不见的处理方法

问题产生原因:

安卓:软键盘弹出后会改变页面的高度将页面顶上来使用fixed或者absolute,会使得元素跟随body的底部移动,而安卓端软键盘将导致body高度变小而导致变形。

IOS:苹果的软键盘是覆盖的(分层),因此没有什么问题。 

解决思路:

记录页面高度,在键盘收起后,恢复原来高度 

方法: 

1.添加blur事件。

1
<textarea  @blur="blur" placeholder="在此处填写意见" :adjust-position="false"></textarea>

  adjust-position: false 键盘弹起时,不自动上推页面。

 2.记录初始高度:
1
2
3
4
data() {
   return {     
     innerHeight:document.body.clientHeight,
   };

3.收起键盘后还原高度

1
2
3
4
5
6
blur(){
    const newInnerHeight = document.body.clientHeight
    if (this.innerHeight != newInnerHeight) {// 安卓手机软键盘弹出后屏幕高度发生变化,收起后恢复屏幕原来高度        
        document.querySelector('body').setAttribute('style', 'height:' + this.innerHeight +'px')
    }
},

  

posted @   lovelyclove  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示