解决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 相关文章推荐
JavaScript mapreduce工作原理简析
Nov 25 Javascript
清除div下面的所有标签的方法
Feb 17 Javascript
jQuery简单实现禁用右键菜单
Mar 10 Javascript
JS加载iFrame出现空白问题的解决办法
May 13 Javascript
jQuery 局部div刷新和全局刷新方法总结
Oct 05 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
Aug 28 Javascript
vue-router 组件复用问题详解
Jan 22 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
如何在wxml中直接写js代码(wxs)
Nov 14 Javascript
原生javascript中this几种常见用法总结
Feb 24 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
May 11 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
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
javascript 页面只自动刷新一次
2009/07/10 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
Javascript 去除数组的重复元素
2010/05/04 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
你们项目是如何进行变更控制的
2015/08/26 面试题
项目投资意向书
2014/04/01 职场文书
大四毕业生自荐书
2014/07/05 职场文书
党员民主生活会材料
2014/12/15 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫