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

 更新时间:2018年08月25日 10:07:10   作者:happyElina  
今天小编就为大家分享一篇解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在用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问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Vue.js和layui日期控件冲突问题解决办法

    详解Vue.js和layui日期控件冲突问题解决办法

    这篇文章主要介绍了详解Vue.js和layui日期控件冲突问题解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • vue  directive定义全局和局部指令及指令简写

    vue directive定义全局和局部指令及指令简写

    这篇文章主要介绍了vue directive定义全局和局部指令及指令简写,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • vue-cli 使用axios的操作方法及整合axios的多种方法

    vue-cli 使用axios的操作方法及整合axios的多种方法

    这篇文章主要介绍了vue-cli 使用axios的操作方法及整合axios的多种方法,vue-cli整合axios的多种方法,小编一一给大家列出来了,大家根据自身需要选择,需要的朋友可以参考下
    2018-09-09
  • Vue3+ElementPlus 表单组件的封装实例

    Vue3+ElementPlus 表单组件的封装实例

    这篇文章主要介绍了Vue3+ElementPlus 表单组件的封装实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • vue里的data要用return返回的原因浅析

    vue里的data要用return返回的原因浅析

    这篇文章主要介绍了vue里的data要用return返回的原因浅析,需要的朋友可以参考下
    2019-05-05
  • axios 实现post请求时把对象obj数据转为formdata

    axios 实现post请求时把对象obj数据转为formdata

    今天小编就为大家分享一篇axios 实现post请求时把对象obj数据转为formdata,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Vue3自定义打印实现原理详解

    Vue3自定义打印实现原理详解

    近接触到了一个 Vue3 的打印需求,我发现自己虽然从事前端开发已有多年,但对如何实现自定义打印还没有深入研究,一般都是找现成的库来解决问题,借这次的机会研究了一下如何实现自定义打印,需要的朋友可以参考下
    2024-07-07
  • Vue如何提升首屏加载速度实例解析

    Vue如何提升首屏加载速度实例解析

    这篇文章主要介绍了Vue如何提升首屏加载速度实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • ant design vue datepicker日期选择器中文化操作

    ant design vue datepicker日期选择器中文化操作

    这篇文章主要介绍了ant design vue datepicker日期选择器中文化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Vue自定义指令详解

    Vue自定义指令详解

    这篇文章主要介绍了Vue自定义指令详解,需要的朋友可以参考下
    2022-12-12

最新评论