解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题


Posted in Javascript onAugust 25, 2018

在用vue-cli脚手架搭建手机H5页面应用的时候,其中一页中部有input,底部有position:absolute;bottom:0的元素,

当点击input框时在安卓手机上出现了:

1 虚拟键盘弹出盖住input

2 底部定位的元素被挤上来

网络上很多关于body设定宽高以及scrolltop的方法都不管用,因为这里是路由页面,根据网上的思路,吊起输入键盘的时候页面的高度是变化的,监听window.onresize,判断是否吊起键盘,然后设定底部模块的隐藏和显示,整个块元素的margintop就可以实现了。

代码如下

mounted () {
 this.clientHeight = document.documentElement.clientHeight;
 const that = this;
 // 安卓手机键盘吊起挡住输入框

 window.onresize = function() {

  if(document.documentElement.clientHeight < that.clientHeight) {
  // scrollVal为负值
  let scrollVal = document.documentElement.clientHeight-that.clientHeight;
  $(".alert-main").css("marginTop",scrollVal);
  $(".bottom-create").hide();
  }else {
  $(".alert-main").css("marginTop",0);
  $(".bottom-create").show();
  }
  
 };
 },

今天这个bug 遇到了新问题,同样的华为手机上,当从别的路由吊起输入键盘的时候回到当前路由,

document.documentElement.clientHeight 就变成了减去输入键盘高度的值,

这时需要在页面第一次加载将document.documentElement.clientHeight记录到store中,store中的值不会因为页面重新渲染而改变。

以上这篇解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js变量作用域及可访问性的探讨
Nov 23 Javascript
JavaScript 拖拉缩放效果
Dec 10 Javascript
JavaScript中的16进制字符(改进)
Nov 21 Javascript
简单实用jquery版三级联动select示例
Jul 04 Javascript
JavaScript中document对象使用详解
Jan 06 Javascript
js实现从数组里随机获取元素
Jan 12 Javascript
微信小程序 UI与容器组件总结
Feb 21 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
Mar 25 Javascript
关于vue.js发布后路径引用的问题解决
Aug 15 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
Sep 02 Javascript
vuejs中父子组件之间通信方法实例详解
Jan 17 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
Jun 05 Javascript
对vue 键盘回车事件的实例讲解
Aug 25 #Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 #Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 #Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 #Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
Aug 24 #Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
Aug 24 #Javascript
微信小程序Getuserinfo解决方案图解
Aug 24 #Javascript
You might like
php中in_array函数用法分析
2014/11/15 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
netbeans7安装python插件的方法图解
2013/12/24 Python
python字符串排序方法
2014/08/29 Python
Python调用C语言开发的共享库方法实例
2015/03/18 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
名词解释型面试题(主要是网络)
2013/12/27 面试题
linux面试题参考答案(9)
2016/01/29 面试题
面试后感谢信怎么写
2014/02/01 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
二手房买卖协议书
2014/04/10 职场文书
技校毕业生自荐信
2014/06/03 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
员工考勤管理制度
2015/08/06 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang