在做一个基于企业微信的h5移动页面时,当软键盘弹出时,底部fixed定位在ios上没事,安卓手机上,底部按钮会被顶起到软键盘,查看原应时由于软键盘顶起时,安卓设备的视图会变小。造成固定定位按钮呗顶起。多方查询,并且自己用过后,觉得下面两种方式各有利弊。闲话不说了,看代码吧

一、显示隐藏处理

这种处理有点局限性,不关闭软键盘,底部按钮不会显示出来。好处是不会卡顿。

data () {

return {

screenHeight: document.body.clientHeight, // 这里是给到了一个默认值

originHeight: document.body.clientHeight, // 默认高度在watch里拿来做比较

isOriginHei :true, // 这个属性是固定定位按钮的显隐开关

},

mounted () {

//处理软键盘弹出底部固定定位按钮顶起问题

let self = this

window.onresize = () => {

return (() => {

self.screenHeight= document.body.clientHeight

})()

}

},

watch: {

screenHeight (val) {

// 判断软键盘弹出,收起

if(this.originHeight-val > 50) {

// 键盘弹出

this.isOriginHei = false

}else{

// 键盘收起

this.isOriginHei = true

}

}

},

最好在离开页面后注销掉

beforeDestroy () {

window.onresize = null; //注销window.onresize事件

},

二、使用jq处理

这种处理方法解决了第一种的问题,但是会有点卡顿。

直接在页面的js内加入如下代码。

键盘弹出时,将固定去掉。键盘收起时,加入固定定位。

// 解决安卓软键盘弹出底部按钮顶起

var winHeight = $(window).height(); //获取当前页面高度

$(window).resize(function () {

var thisHeight = $(this).height();

if ( winHeight - thisHeight > 140 ) {

//键盘弹出

$('.btn').css('position','static');

} else {

//键盘收起

$('.btn').css({'position':'fixed','bottom':'0'});

}

})

解决。欢迎留言交流

android软键盘弹出底部有黑色闪出,vue移动端安卓软键盘弹出底部按钮顶起相关推荐

  1. android开发 Activity包含Fragment切换背景黑色闪屏解决方案

    最近项目主页是用activity包含4个fragment组成的,然而我发现主页面的fragment切换有黑色的背景闪现,效果如下: 看了很多同道的解决方案,也没什么效果,后来我设置了一下背景,我的应该 ...

  2. vue App 端防止页面键盘弹起 页面不下来

    <input type="number" placeholder="请输入邮箱验证码" v-model="emailcodes" @b ...

  3. vue弹出层滑动禁止背景跟着滑动_vue移动端弹起蒙层滑动禁止底部滑动操作

    解决办法 在蒙层弹起的时候将body设置为fixed定位 在蒙层消失的时候将body恢复原位 popupVisible(newValue) { if (newValue) { document.bod ...

  4. 摇杆怎么映射到键盘_[评测]YAMAHA PSRSX900:雅马哈升级幅度最大的高端编曲键盘键盘中国原创评测...

    本文图片均由本人亲自拍摄,转载请注明出处.年前就收到这台国行PSR-SX900了.在这一个月特殊的日子里,不能出门,幸好有sx900的陪伴,让我可以天天弹琴.唱歌打发时间...现在很多地方开始逐渐复工 ...

  5. vue 管理后台 使用虚拟键盘组件 支持中英文切换

    前言:在大型触屏设备(如双屏设备)中,就没有键盘去操作,而且在触屏input或者textarea的输入时候就无法去输入值,没办法触发输入框enter事件,所以就需要去建立一个虚拟键盘去操作 就想着找一 ...

  6. android软键盘自动弹出,android安卓editText自动弹出软键盘(输入键盘)

    editext获取焦点并自动弹出输入键盘,代码如下: EditText  editText.setFocusable(true); editText.setFocusableInTouchMode(t ...

  7. 安卓手机键盘弹出导致h5页面错乱

    安卓手机键盘弹出导致h5页面错乱 特别是有表单的h5,点击input输入信息的时候提交的按钮.以及定位到下方的图片都会被挤上来. 解决方法如下: <div class="bg_img& ...

  8. html 软键盘 页面高度,深入理解高度,获取屏幕、webview、软键盘高度

    如果没有手动调整过webview的高度的话,默认情况下,屏幕的高度=顶部状态栏的高度+webview的高度. 如果软键盘打开,则屏幕的高度=顶部状态栏的高度+webview的高度+软键盘的高度. HT ...

  9. android app底部菜单栏,材料设计指南·组件篇(一):AppBars: Bottom 底部栏

    写在前面的话:内容来自 Material IO ,目前不是从头到尾一一翻译,我自己用到哪部分内容就翻译哪部分.之后会逐步完善,当然你要想先看哪部分也可以留言提要求.不是直译,但不会影响原文内容. 材料 ...

最新文章

  1. React Native 'config.h' file not found
  2. 如何用纯 CSS 创作一个摇摇晃晃的 loader
  3. 通过先序和中序数组生成后续数组
  4. springmvc+jsp引用本地图片文件
  5. 让产品经理GC的文本段落两端对齐css
  6. Tomcat server launch debug - OrderAnalytics
  7. 第二次尝试修复Hbase2出现Region不一致,使用 HBCK2 - 2021.11.15
  8. 这种玩法闻所未闻,利用python编程自定义QQ的在线状态
  9. 爬取亚马逊评论_如何利用插件抓取亚马逊评论和关键词?
  10. KVO.非常简单的键值监听模式
  11. WSL : llvm、clang 和XTP
  12. 海力士固态测试软件,ACPI SSD2G 256GB性能测试
  13. 网易云音乐获取音频链接(爬虫)破解params参数
  14. 深圳大学使用路由器登陆校园网,openwrt登陆drcom,d版教程
  15. Win10系统下配置virtualenv
  16. AES解密报错,Input length must be multiple of 16 when decrypting with padded cipher
  17. 快速在数据库添加一年的日期,区分休息日和工作日
  18. html 、css基础
  19. 联想拯救者r720折腾MacOS12.3.1记录
  20. 如何在CSDN博客中插入代码块显示行号

热门文章

  1. Golang语言快速上手到综合实战(Go语言、Beego框架、高并发聊天室、豆瓣电影爬虫) 下载
  2. Discovery Studio简介
  3. CAN转光纤以太网设备实现CAN网络之间超远距离光纤连通
  4. Adobe Flash Builder 4.7安装
  5. 浅谈艺工结合——自然科学和艺术美学的链接融合
  6. 嵩天老师Python面向对象-28,文本清洗及统计案例
  7. Springboot超市收银管理系统java
  8. python工具箱—Excel与List互转
  9. 【3dsmax2016】安装图文教程、破解注册以及切换语言方法
  10. 3ds Max 2016怎样设置中文界面?