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 ...
随机推荐
- Linux笔记03: Linux常用命令_3.3文件操作命令
3.3 文件操作命令 3.3.1 stat命令 ●命令名称:stat. ●英文原意:display file or file system status. ●所在路径:/usr/bin/stat. ● ...
- C#_Win32_PInvoke源码生成器
介绍 一个源代码生成器,用于向 C#项目添加一组用户定义的 Win32 P/Invoke 方法和相关的类型. 链接地址: https://github.com/microsoft/CsWin32 还在 ...
- CompletableFuture异步编程
1.创建 /** * public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier ...
- Spring整合Quartz简单入门
创建一个Web项目 导入相关jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- 使用.NET Core接入飞书AI
飞书AI接入教程 首先,准备俩个账号:ChatGPT账号.飞书账号. 飞书账号请自行注册,访问链接 www.feishu.cn/ 即可登录. 第一步,飞书进入开发者平台.点击创建应用. 填写应用名称和 ...
- Net 高级调试之十五:经典的锁故障
一.简介 今天是<Net 高级调试>的第十五篇文章,这个系列的文章也快结束了,但是我们深入学习的脚步还不能停止.上一篇文件我们介绍了C# 中一些锁的实现逻辑,并做到了眼见为实的演示给大家它 ...
- 开源数据血缘和元数据管理框架DataHub的血缘摄取 V0.12.1版本
DataHUb的安装很简单:你有绿色上网就soeasy 前置条件,你已经运行好DataHub整个Docker-Compse服务 打开地址:http://host:9002/ 输入账号DataHub 密 ...
- 如何构建一个 NodeJS 影院微服务并使用 Docker 部署
如何构建一个 NodeJS 影院微服务并使用 Docker 部署 前言 如何构建一个 NodeJS 影院微服务并使用 Docker 部署.在这个系列中,将构建一个 NodeJS 微服务,并使用 Doc ...
- JVM学习-Class文件结构
文章原文:https://gaoyubo.cn/blogs/844dc0e7.html 一.Class类文件的结构 任何一个Class文件都对应着唯一的一个类或接口的定义信息. 但是反过来说,类或接口 ...
- 7、Flutter GridView网格布局组件(遍历)
GridView创建网格列表主要有下面三种方式 1.可以通过GridView.count 实现网格布局 一行的 Widget 数量 class HomePage extends Stateles ...


