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 相关文章推荐
jQuery 位置插件
Dec 25 Javascript
Extjs学习笔记之六 面版
Jan 08 Javascript
JavaScript中的property和attribute介绍
Dec 26 Javascript
js控制当再次点击按钮时的间隔时间
Jun 03 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
JavaScript操作HTML元素和样式的方法详解
Oct 21 Javascript
JavaScript数组去重的五种方法
Nov 05 Javascript
原生js的数组除重复简单实例
May 24 Javascript
Bootstrap媒体对象学习使用
Mar 07 Javascript
JavaScript实现随机点名器实例详解
May 07 Javascript
浅谈JavaScript中this的指向更改
Jul 28 Javascript
JavaScript中reduce()的用法
May 11 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
twig里使用js变量的方法
2016/02/05 PHP
PHP打印输出函数汇总
2016/08/28 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Python open读写文件实现脚本
2008/09/06 Python
用Python实现协同过滤的教程
2015/04/08 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
logging level级别介绍
2020/02/21 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python asyncio 协程库的使用
2021/01/21 Python
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
护士求职推荐信范文
2013/11/23 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
烹调加工管理制度
2014/02/04 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
医院标语大全
2014/06/23 职场文书
师范毕业生求职信
2014/07/11 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
初中体育教学随笔
2015/08/15 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
python多线程方法详解
2022/01/18 Python