.软键盘弹起,在安卓上是缩小了内容区域的高度, 软键盘将下半部分进行遮挡;ios上则是整个webview整体上移,改变了整个内容区域的scrollTop值。

**
经过筛选,最终选择使用定时器,思路如下:

  1. 点击触发input

  2. 在获取焦点(软键盘弹起)前,先将页面的scrollTop值存起来

  3. 获取焦点

  4. 判断浏览器类型,如果是ios,设置定时器,将此时内容的高度值赋值给浏览器当前滚动高度(确保完全显示)

  5. 失去光标

  6. 判断浏览器类型,若为ios,清除定时器,并设置浏览器当前滚动高度值为一开始键盘未弹起的scrollTop值

//解决第三方软键盘唤起时底部input输入框被遮挡问题var bfscrolltop = document.body.scrollTop;//获取软键盘唤起前浏览器滚动部分的高度$("input.inputframe").focus(function(){//在这里‘input.inputframe’是我的底部输入栏的输入框,当它获取焦点时触发事件interval = setInterval(function(){//设置一个计时器,时间设置与软键盘弹出所需时间相近document.body.scrollTop = document.body.scrollHeight;//获取焦点后将浏览器内所有内容高度赋给浏览器滚动部分高度},100)}).blur(function(){//设定输入框失去焦点时的事件clearInterval(interval);//清除计时器document.body.scrollTop = bfscrolltop;将软键盘唤起前的浏览器滚动部分高度重新赋给改变后的高度});

关于移动端IOS input弹起键盘时,引起高度问题相关推荐

  1. iOS input被键盘遮挡

    //解决第三方软键盘唤起时底部input输入框被遮挡问题var bfscrolltop = document.body.scrollTop;//获取软键盘唤起前浏览器滚动部分的高度$("in ...

  2. Vue中输入框自动获取焦点-移动端ios不能唤起键盘解决办法

    实现自动唤起键盘 方式一(推荐) this.$nextTick(() => {this.$refs.input.focus() })方式二 setTimeOut(()=>{this.$re ...

  3. H5-input弹起键盘遮盖输入框(Android)、键盘弹起后不恢复(IOS)

    安卓机问题: 页面完成之后发现在Android上软键盘的弹起并不会像IOS一样带动页面的弹起,而是在原有位置遮盖了输入框,表现如下(有光标的input在弹起键盘时被遮住): iOS机问题 在input ...

  4. 解决 H5 IOS input 聚焦时,软键盘将页面整个推上去,键盘收起页面未下移 BUG

    目录 问题描述 解决方案 问题描述 近日在开发H5应用时,测试人员发现在IOS低版本中input,textArea等输入框聚焦时,软键盘弹起会将整个页面向上顶,收回键盘后,页面不会回弹恢复页面,导致页 ...

  5. iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案

    iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案 参考文章: (1)iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案 (2)https://www.cn ...

  6. iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案—scrollIntoView()

    iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案-scrollIntoView() 参考文章: (1)iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案- ...

  7. H5页面移动端IOS键盘收起焦点错位

    出现场景:IOS端,在弹出层点击input时调起键盘页面会被顶上去document.body.scrollOffset大于0,收起键盘时scrollOffset不变,造成焦点错位. 注:安卓手机点击时 ...

  8. H5 (React) 移动端监听软键盘弹起、收起

    前言:H5 有时底部按钮是固定定位,当页面上面需要用到输入内容时,会弹起软键盘,然后把底部固定的按钮也弹起来了,我们希望弹起软键盘时,底部的固定定位按钮隐藏,这里就需要对移动端软键盘弹起收起进行监听. ...

  9. vue 全局键盘_如何解决ios input框唤起软键盘不灵敏问题?

    为什么移动端点击事件要加300ms延迟呢? 早在 2007 年初,苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的.于是苹果的工程师们做了一些约定,应对 iPh ...

最新文章

  1. 在.NET环境下发送邮件
  2. 网站图片优化需要注意哪些方面?
  3. python启动http服务_Python命令开启http.server服务器
  4. java日期时间各种变换及处理
  5. 用户收货地址h5页面_如何实现H5可视化编辑器的实时预览和真机扫码预览功能...
  6. npm发布vue组件
  7. Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环
  8. 《春夜宴桃李园序》的理解
  9. web安全day38:使用Vulhub一键搭建测试靶场
  10. iOS开发之UITableViewController指定刷新cell 或section
  11. 生物信息学三大数据库NCBI-ENSEMBL-UCSC
  12. Qt通过ODBC连接opengauss数据库
  13. DDNS设置(自用)
  14. 【绘制关系网络图】Gephi 入门使用
  15. php 实现人脸识别功能
  16. 前端CSS代码格式化、JavaScript代码格式化函数
  17. GitHub 狂飙 30K+star 面试现场, 专为程序员面试打造, 现已开源可下载
  18. Redis~集群(分布理论、一致性哈希分区、虚拟槽分区、节点握手、集群通信、集群伸缩、请求路由、故障转移、集群维护)
  19. 一文了解“什么是ACL”、“什么是EACL”、“什么是NAACL”、“什么是AACL”国际会议
  20. 传统弓上弦的几种方式

热门文章

  1. C语言程序设计-餐厅点餐系统
  2. 点菜系统中的命令模式
  3. sqlconnection mysql_VS连接数据库的通用方法(SQL/MySql)
  4. 免费可商用的图片资源推荐
  5. 利用supervisor对服务进行管理
  6. 计算机科学与技术专业答辩形式,2016计算机科学与技术专业论文答辩范例.ppt
  7. VisualVm的理解
  8. 如何测试一支笔之我见
  9. Derek Wilson:三重缓冲,为什么我们爱它
  10. 简单网页版的注册登录案例(JSP+CSS+MySQL+Servlet+MVC设计思想,含源码!)