js解决软键盘遮挡输入框的问题分享


Posted in Javascript onDecember 19, 2017

经验须知

弹出软键盘时:

ios端$(‘body').scrollTop()会改变

android端$(window).height()会改变

拉起键盘不是一瞬间,而是有一个缓动过程

问题重现

ios端,经常会出现输入法遮挡输入框的问题(特别是那种有一个白色顶部的输入法,如:百度输入法),如图:

js解决软键盘遮挡输入框的问题分享

问题解决

我们只需要在输入框聚焦之后,开启一个定时器,执行$(‘body').scrollTop(1000000),这样由于整个body滚动到了最下面,输入框自然就看见了,具体请查看以下示例

示例源码

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8"> 
  <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> 
  <title>demo</title> 
  <script src="../js/jquery-1.11.3.min.js"></script>
  <style> 
    * { 
      margin: 0;  
      padding: 0; 
    } 
    body, html { 
      width: 100%; 
      height: 100%;
    } 
    .bottom {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      font-size: 0;
    }
    input {
      font-size: 14px;
      box-sizing: border-box;
      width: 50%;
      height: 50px;
      line-height: 50px;
    }
  </style> 
</head> 
<body>
  <div class="bottom">
    <input class="aInput" type="text" placeholder="ios聚焦后会被输入法遮挡" />
    <input class="bInput" type="text" placeholder="ios聚焦后不会被输入法遮挡" />
  </div>
</body> 
<script> 
  $(function() {
    // 解决输入法遮挡
    var timer = null;
    $('.bInput').on('focus', function() {
      clearInterval(timer);
      var index = 0;
      timer = setInterval(function() {
        if(index>5) {
          $('body').scrollTop(1000000);
          clearInterval(timer);
        }
        index++;
      }, 50)
    })
  });

</script> 
</html>

以上这篇js解决软键盘遮挡输入框的问题分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习ExtJS Window常用方法
Oct 07 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
Dec 11 Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
Oct 29 Javascript
JavaScript数值转换的三种方式总结
Jul 31 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
AngularJs 终极购物车(实例讲解)
Nov 08 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
Dec 20 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
微信小程序动态显示项目倒计时
Jun 20 Javascript
js+canvas实现简单扫雷小游戏
Jan 22 Javascript
JavaScript实现tab栏切换效果
Mar 16 Javascript
Angular2实现组件交互的方法分析
Dec 19 #Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 #Javascript
jquery自定义显示消息数量
Dec 19 #jQuery
基于Vue开发数字输入框组件
Dec 19 #Javascript
jquery实现侧边栏左右伸缩效果的示例
Dec 19 #jQuery
从setTimeout看js函数执行过程
Dec 19 #Javascript
mongoose更新对象的两种方法示例比较
Dec 19 #Javascript
You might like
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
Python时间获取及转换知识汇总
2017/01/11 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
怎样写演讲稿
2014/01/04 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
医学生自我评价
2014/01/27 职场文书
主管会计岗位责任制
2014/02/10 职场文书
拉贝日记观后感
2015/06/05 职场文书
小学安全教育主题班会
2015/08/12 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python