当前位置: 首页 > news >正文

vue H5解决安卓手机软键盘弹出,页面高度被顶起

开发中安卓机上遇到的软键盘弹出导致布局问题
  • 直接上代码_
在这里插入代码片
<div class="container"><div class="appContainer" :style="{height:isKeyboardOpen? Heights :'inherit'}"><p class="name"><!-- 绑定输入框聚焦和失焦事件 --><input class="grow" type="text" v-model="name" @focus="handleInputFocus"@blur="handleInputBlur"/></p></div><!-- 给 footer 添加动态类名 --><div :class="['footer', { 'keyboard-active': isKeyboardOpen }]"><div class="next" @click="nextClick">下一步</div><div class="step next" @click="stepClick">上一步</div></div></div>
在这里插入代码片
data() {return {name:'',isKeyboardOpen: false,originalWindowHeight: window.innerHeight,isAndroid: /Android/i.test(navigator.userAgent),Heights:'inherit'};
}
mounted() {if(this.isAndroid) {// 监听窗口大小变化window.addEventListener("resize", this.handleWindowResize);}
},
beforeDestroy() {// 移除监听事件,防止内存泄漏if (this.isAndroid) {        window.removeEventListener("resize", this.handleWindowResize);}
},
methods: {stepClick(){console.log('上一步');},nextClick(){ if(!this.name){Toast("请输入姓名");return;}console.log('下一步');},handleInputFocus() {if (this.isAndroid) {// 输入框聚焦时触发窗口大小检查this.handleWindowResize();}},handleInputBlur() {if (this.isAndroid) {// 输入框失焦时触发窗口大小检查this.handleWindowResize();}},handleWindowResize() {if (this.isAndroid) {const currentWindowHeight = window.innerHeight;this.Heights=currentWindowHeight + 'px';                this.isKeyboardOpen = currentWindowHeight < this.originalWindowHeight;// 通过比较窗口高度判断键盘是否打开}}
}
<style>// 键盘弹出时隐藏 footer.footer.keyboard-active {// display: none;//这一种写法调起键盘时有闪烁问题position: relative;//一种方法bottom: 0;}
</style>

在这里插入图片描述

相关文章:

  • 网卡网孔速率的协商是如何进行的?
  • 【小记】word批量生成准考证
  • element中表格文字剧中可以使用的属性
  • 初识 Pandas:Python 数据分析的利器
  • 七、MyBatis-Plus高级用法:最优化持久层开发
  • 力扣2094题解
  • Stream Deck纯软件实现高性价比平替
  • HTML5 定位详解:相对定位、绝对定位和固定定位
  • 《Python星球日记》 第63天:文本方向综合项目(新闻分类)
  • mac M2下虚拟机CentOS 8 安装上安装 Berkeley DB
  • 【网络安全】SQL注入
  • 【idea】快捷键ctrl+shift+F(Find in files)不起作用
  • 单片机Day10
  • springboot做junit单元测试详细步骤
  • ActiveMQ 高级特性:延迟消息与优先级队列实战(二)
  • FEKO许可证的安全与合规性
  • ArcGIS+InVEST+RUSLE:水土流失模拟与流域管理的高效解决方案;水土保持专题地图制作
  • 力扣-94.二叉树的中序遍历
  • 力扣HOT100之二叉树:101. 对称二叉树
  • 工业协议跨界实录:零基础玩转PROFINET转EtherCAT主站智能网关
  • 威尼斯建筑双年展总策划:山的另一边有什么在等着我们
  • 福建宁德市长张永宁拟任设区市党委正职,曾获评全国优秀县委书记
  • 牟海松任国家信访局副局长
  • 人大新闻教育70年丨16759门课程里的时代密码
  • 北美票房|昔日偶像风光不再,乔什·哈内特新片开画不佳
  • 深一度|在亚马尔的天才面前,姆巴佩戴上“帽子”又如何