关于安卓客户端 软键盘弹出后,导致底部按钮看不见的处理方法
问题产生原因:
安卓:软键盘弹出后会改变页面的高度将页面顶上来。使用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' ) } }, |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律