解决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 相关文章推荐
基于Jquery的简单&amp;简陋Tabs插件代码
Feb 09 Javascript
JS实现点击下载的小例子
Jul 10 Javascript
JS字符串截取函数实例
Dec 27 Javascript
javascript页面加载完执行事件代码
Feb 11 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
jquery+php实现搜索框自动提示
Nov 28 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
Apr 01 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
Node.js如何自动审核团队的代码
Jul 20 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
Aug 27 Javascript
解决node-sass偶尔安装失败的方法小结
Dec 05 Javascript
vue3中的组件间通信
Mar 31 Vue.js
对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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
详解Python中with语句的用法
2015/04/15 Python
python使用PyGame模块播放声音的方法
2015/05/20 Python
如何基于Python批量下载音乐
2019/11/11 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
经典演讲稿范文
2013/12/30 职场文书
小班秋游活动方案
2014/02/22 职场文书
党员活动日总结
2014/05/05 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
工地标语大全
2014/06/18 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
先进单位申报材料
2014/12/25 职场文书
2015年酒店工作总结
2015/04/28 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS