背景:在写提交订单页面时候,底部按钮当我点击输入留言信息的时候,
底部提交订单按钮被输入法软键盘顶上去遮挡住了。

h5 ios输入框与键盘 兼容性优化

实现原理:当页面高度发生变化的时候改变底部button的样式,没点击前button在底部固定
position: fixed;当我点击input的时候样式变成position: static!important;

一开始的解决方案是通过input的聚焦和失焦,但是有个问题,当我点击input的时候聚焦,
再点击键盘上的隐藏按钮时就没办法恢复原来的fixed。

原来的样式主要是position: fixed;当输入法点击出现时候修改为 position: static!important;

.payOnline {position: fixed;bottom: 0;left: 0;right: 0;width: 100%;background: #fff;font-size: 17px;    }.nav-hide {position: static!important;}

vue绑定动态class,‘nav-hide’ ,通过hideClass来显示动态显示,
初始值设置hideClass: false,
另外设置初始屏幕高度 docmHeight,变化屏幕高度 showHeight 。


//其他代码<div class="payOnline" v-bind:class="{  'nav-hide': hideClass }"><span>合计:¥{{totalFee}}</span><div class="payBtn" @click="submitOrder">提交订单</div></div>
//其他代码

watch 监听showHeight,当页面高度发生变化时候,触发inputType方法,
window.onresize 事件在 vue mounted 的时候 去挂载一下它的方法,
以便页面高度发生变化时候更新showHeight


data(){retrun{// 默认屏幕高度docmHeight: document.documentElement.clientHeight,  //一开始的屏幕高度showHeight: document.documentElement.clientHeight,   //一开始的屏幕高度hideClass: false,}
},watch:{showHeight: 'inputType'
}
methods: {// 检测屏幕高度变化inputType() {if (!this.timer) {this.timer = truelet that = thissetTimeout(() => {if (that.docmHeight > that.showHeight) {//显示classthis.hideClass = true;} else if (that.docmHeight <= that.showHeight) {//显示隐藏this.hideClass = false;}that.timer = false;}, 20)}},
},mounted() {// window.onresize监听页面高度的变化window.onresize = () => {return (() => {window.screenHeight = document.body.clientHeight;this.showHeight = window.screenHeight;})()}}

方法二

另外还有一种解决方案就是不要将按钮固定到底部,简单粗暴适合对ui要求不高的前端页面,例如原来我的保存地址按钮是固定在底部的,出现上面的问题后我把样式修改了一下,取消fixed定位,加了margin,也解决了这个问题;


<div data-v-46aeadee="" class="save-address">保存并使用</div>.address-from  {bottom: .2rem;width: 70%;text-align: center;padding: 10px 0;background: #f23030;font-size: 16px;color: #fff;margin: 1.5rem;border-radius: 2px;
}

如果大家有更好的方法希望能够交流学习

原文地址:https://segmentfault.com/a/1190000014228563

转载于:https://www.cnblogs.com/lalalagq/p/9919432.html

vue 手机键盘把底部按钮顶上去相关推荐

  1. android软键盘弹出底部有黑色闪出,vue移动端安卓软键盘弹出底部按钮顶起

    在做一个基于企业微信的h5移动页面时,当软键盘弹出时,底部fixed定位在ios上没事,安卓手机上,底部按钮会被顶起到软键盘,查看原应时由于软键盘顶起时,安卓设备的视图会变小.造成固定定位按钮呗顶起. ...

  2. Android之打开继承DialogFragment对话框里面EditText获取光标并且弹出键盘把底部布局顶上去

    1 需求 打开继承DialogFragment对话框里面EditText获取光标并且弹出键盘把底部布局顶上去 2 效果爆照如下 打开这个DialogFragment 3 关键代码实现 override ...

  3. 移动端点击输入框,弹出键盘,底部被顶起问题(vue)

    这个问题相信做移动端开发的童鞋会有深刻体会,以前用jq开发时就很头疼这个问题,每次底部footer部分需要用position:fixed,如果页面内容不是很长,没有超出屏幕范围,那就还好,没有问题:一 ...

  4. 安卓webview软键盘遮住底部按钮,又名AndroidBug5497

    一.背景介绍       首先介绍关于adjustSize与adjustpan 在manifest文件设置activity的windowSoftInputMode设置为 adjustPan 或者adj ...

  5. android 键盘将底部视图顶起,android 弹出软键盘将底部视图顶起问题

    今天要做一个搜索功能,搜索界面采用AutoCompleteTextView做搜索条,然后下面用listview来显示搜索结果,而我的主界面是在底 部用tab做了一个主界面导航,其中有一个搜索按钮,因为 ...

  6. 输入框调用手机键盘的确认按钮

    // html代码 <input class="keyword" type="serch" placeholder="请输入项目名称或地址&qu ...

  7. input弹出的手机键盘搜索事件

    一.input的搜索框    在input标签里面把type设置为search就可以了.弹出的手机键盘回车键也会变成搜索或者是搜索的图标. <input id="search" ...

  8. vue中手机端点击手机键盘的完成 / 搜索按钮触发文本框搜索

    看到标题,你可能第一反应是想着监听手机键盘的[完成]或[搜索]按钮,然后触发事件do something but ,No No No ,没有那么艰难复杂. vue中,要在手机端点击手机键盘的[完成]或 ...

  9. 移动端键盘弹起导致底部按钮上浮解决方案

    问题描述:移动端页面输入框聚焦伴随着键盘弹起,底部icon浮到键盘上方,导致样式不友好 解决思路:在键盘弹起时,不让原本固定在底部的icon自动浮起.监听屏幕的实时高度,控制底部按钮的显示与否,从而达 ...

最新文章

  1. Qt::AutoConnection 信号从不同于接收者的thread发出时是queued 方式触发
  2. 基础知识《十》unchecked异常和checked异常
  3. 论文浅尝 | 动态词嵌入
  4. 电脑桌面游戏_二次元游戏的高人气角色,不管男女都有一个特点,是巧合吗?...
  5. 图(用list邻接表表示)的深度优先和广度优先(递归和非递归实现)
  6. C++中strftime()的详细说明
  7. 【总线】一文看懂 I2C 通信协议
  8. Modbus RTU转Modbus TCP网关的应用
  9. IOS性能优化 - 分析应用
  10. ThinkPad Z61t系统重装
  11. rar压缩包密码解密
  12. 计算机的装机配件,京东买的配件怎么装机自己组装教程
  13. python任务调度demo-百度贴吧签到
  14. 计算文件MD5值的多种方法
  15. “非正常死亡”何时休?永不消失的压力能化解吗?
  16. 木马冰河之原理篇(深入浅出看木马)
  17. python rsa加密解密_RSA加密解密(python版)
  18. Vue全家桶都包括些什么?
  19. 计算机网络命令dos命令大全,DOS命令大全:Ipconfig命令详解 – itShouce
  20. wordpress响应慢_WordPress中的响应式实时图形:画龙点睛

热门文章

  1. ubuntu下载安装MaskRCNN-benchmark
  2. c语言求占用内存sizeof,C语言中sizeof的用法
  3. python namedtuple用法_Python的collections模块中namedtuple结构使用示例
  4. 乐高无限无法进入服务器,乐高无限6.13更新 无法进入游戏问题修复
  5. java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍
  6. PTA混淆总结(就做个笔记储存一下)
  7. 广东省哪个学校电子计算机有名,广东省电子职业技术学校
  8. 计算机视觉 专业术语,计算机视觉专业相关术语中英文对照5
  9. Mapbox HTML可视化点,线,多线,面带底图
  10. 深蓝学院的深度学习理论与实践课程:第三章