uni-app打包h5页面ios唤起软键盘踩坑
问题:页面有很多input框,上面的input输入框,当虚拟键盘出来时没问题,但是下面的input输入框,就会出现问题,input输入框会跑到键盘后面。
网上一阵百度,找到原因:安卓手机中唤起软键盘时页面会压缩webview的高度,窗口会执行resize事件,但ios并不会。网上各种百度,尝试,都失败了,在快放弃时,找到一个可行的。直接贴代码:
1 <template>
2 <view class="wrapper" id="wrapper" ref="wrapper">
3 <scroll-view
4 :style="{'height': scrollHeight}"
5 class="scroll-view"
6 :scroll-y="true">
7 <view class="evaluate-type-list">
8 <view
9 class="evaluate-type-item"
10 v-for="(item, index) in options"
11 :key="index">
12 <view class="item-top">
13 <view class="title">
14 {{item.title}}
15 <text class="score">({{item.score}})</text>
16 </view>
17 <view class="content">{{item.content}}</view>
18 </view>
19 <view class="item-bottom">
20 <view class="content">
21 评价
22 <input
23 v-model.number="item.evaluateScore"
24 class="input"
25 type="number"
26 placeholder="请输入评价分数"
27 @input="checkScore(item)"
28 @focus="focusInput"
29 @blur="blurInput"
30 placeholder-style='color: #d1d1d1' />
31 </view>
32 <view class="err-tip" v-if="item.isErr">{{item.errTip}}</view>
33 </view>
34 </view>
35 </view>
36 <button class="btn-submit" @tap="submit">确定</button>
37 </scroll-view>
38 </view>
39 </template>
40
41 <script>
42 export default {
43 data() {
44 return {
45 scrollHeight: 'calc(100vh - 20upx)',
46 }
47 },
48 methods: {
49 focusInput() {
50 // 获取系统信息
51 let info = uni.getSystemInfoSync();
52 if(info.platform === 'ios') {
53 setTimeout(() => {
54 let viewInfo = this.$refs.wrapper.$el.getBoundingClientRect();
55 // 获取视图偏移量,重新定位操作栏
56 this.bottomVal = Math.abs(parseFloat(viewInfo.top))
57 // 重置编辑区高度
58 this.scrollHeight = `calc(100vh - ${98 + this.bottomVal}px )`
59 }, 500)
60 }
61 },
62 blurInput() {
63 this.scrollHeight = 'calc(100vh - 180upx)';
64 },
65
66 }
67 }
68 </script>
69
70 <style lang="scss" scoped>
71 </style>
终于解决困扰一个星期的问题。如果对你有帮助,请给个赞,谢谢!
uni-app打包h5页面ios唤起软键盘踩坑的更多相关文章
- H5页面关于android软键盘弹出顶起底部元素的解决方案
应用场景:用div在移动端页面设置一个底部工具栏,css的代码大概如下: .tool{ width: 100%; height: 60px; position: fixed; left: 0px; b ...
- 微信H5页面 会被软键盘顶起来
问题描述:H5页面在微信中打开,input输入框获取焦点时,页面被软键盘顶上去:关闭软键盘时,页面不会自动下来(恢复初始状态) H5页面在微信中初始状态如下图: input输入框获取焦点时,页面被软键 ...
- h5页面ios,双击向上滑动,拖拽到底部还能继续拖拽(露出黑色背景)
h5页面ios,双击向上滑动,拖拽到底部还能继续拖拽 标签: 手机 2016-02-02 18:09 696人阅读 评论(0) 收藏 举报 在ios下,双击屏幕某些地方,滚动条会自动向上走一段. ...
- 微信内置浏览器浏览H5页面弹出的键盘遮盖文本框的解决办法(转)
最近在做微信公众号的内嵌页面,发现点击输入框时键盘盖住文本框,找到一段代码解决了这个问题. iOS和android手机都已亲测,需要的可以直接拷贝到代码中使用. js代码如下: $(function ...
- iOS让软键盘消失的简单方法
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一些文本输入控件等待输入时会弹出软键盘,我们可以设置这些控件的 ...
- 页面的input唤醒软键盘再收起后,页面会出现软键盘高度的空白背景
微信浏览器在版本6.7.4及以上会有这个bug:页面的input唤醒软键盘再收起后,页面会出现软键盘高度的空白背景,触摸到滚动条会消失恢复! 解决代码 后台框架嵌入iframe的情景,iframe内部 ...
- ios获取软键盘完成事件
ios获取软键盘完成事件,通过判断input的onBlur事件即可
- H5页面中唤起native app
现在各类app,分享出去的H5页面中,一般都会带着一个立即打开的按钮,如果本地安装了app,那么就直接唤起本地的app,如果没有安装,则跳转到下载.这是一个很正常的推广和导流量的策略,最近产品经理就提 ...
- iOS原生App与H5页面交互笔记
文/MikeZhangpy(简书作者)原文链接:http://www.jianshu.com/p/4ed3e5ed99c6著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 最近在做一个项 ...
- h5项目中关于ios手机软键盘导致页面变形的完美解决方案
1.项目背景:vue项目,手机加短信验证码登录: 2.问题: 在ios中input吊起软键盘,输入完成后,收起软件盘,页面不会回弹,导致页面下方出现空白,也就是页面变形: 3.最开始的解决方案是,用i ...
随机推荐
- MySQL笔记01: MySQL入门_1.1 MySQL概述
1.1 MySQL概述 MySQL是一个关系数据库管理系统(Relational DataBase Management System,RDBMS).它是一个程序,可以存储大量的种类繁多的数据,并且提 ...
- [GDOI22pj1A] 邹忌讽秦王纳谏
时间空间限制: 1 秒, 256 MB 齐国人邹忌对齐国国君齐威王说,大王身边的人会因为私情.利益等原因而对大王阿谀奉承,所以不能光听好话,只有广泛接受群众的批评意见,才不会被蒙蔽双眼,齐国才能强盛. ...
- vivo 容器平台资源运营实践
作者:vivo 互联网服务器团队 - Chen Han 容器平台针对业务资源申请值偏大的运营问题,通过静态超卖和动态超卖两种技术方案,使业务资源申请值趋于合理化,提高平台资源装箱率和资源利用率. 一. ...
- python tkinter 使用(二)
python tkinter 使用(二) 本篇文章着重讲下tkinter中messagebox的使用. 1:提示框 def showinfo(event): messagebox.showinfo(& ...
- NC65元数据添加七彩版时注意点
元数据添加七彩版时注意点 元数据七彩版模式 --- 主要添加Xml文件调整格式 添加时注意点如下 手动创建Panel时 自动生成的实现方法中有一个方法的返回值一定要为true 该方法主要是控制显不显示 ...
- Ubuntu 安装MySQL 8.0.23及以上版本
首先如果当前linux中没有wget,那么我们可以考虑使用sudo apt-get install wget来安装wget命令 Ubuntu自带的源只能安装MySQL5.7版本,这里去MySQL官网安 ...
- 年底了,网站被挂马了,关于IIS被陌生DLL劫持(新人发帖,写的不好的地方,请多多担待)
一上班被分到两个需要杀毒的站点,情况是SEO被劫持 出现一些博彩信息,但是打开确实正常内容,使用站长工具的网站被黑检测功能,发现网站的HEAD前面加载一对加密的东西 一开始我使用D盾扫描网站,删除了一 ...
- CTFHub XSS 过滤关键词 WriteUp
前文链接:DOM反射xss 这次直接浏览器输入payload,发现 script 被过滤掉了 </textarea>'"><script src=http://xss ...
- zabbix 利用脚本发邮件(mail)
# 源码安装mailx tar jxvf mailx-12.3.tar.bz2 make && make install UCBINSTALL=/usr/bin/install #yu ...
- CSS3学习笔记引言
开始我们要来介绍css: CSS(全称为Cascading Style Sheets)是一种用于描述HTML.XML等文档样式的样式语言,它能够定义元素的显示方式,如字体.颜色.布局等. CSS可以把 ...


