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 相关文章推荐
js中如何复制一个对象并获取其所有属性和属性对应的值
Oct 24 Javascript
Javascript中数组方法汇总(推荐)
Apr 01 Javascript
Javascript实现字数统计
Jul 03 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
Jul 05 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
Aug 02 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
浅谈js中的引用和复制(传值和传址)
Sep 18 Javascript
JavaScript浮点数及运算精度调整详解
Oct 21 Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 Javascript
详解AngularJS 模块化
Jun 14 Javascript
一个基于react的图片裁剪组件示例
Apr 18 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
URL Rewrite的设置方法
2007/01/02 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
关于vue面试题汇总
2018/03/20 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
Python格式化日期时间操作示例
2018/06/28 Python
对Django中内置的User模型实例详解
2019/08/16 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
在python中使用nohup命令说明
2020/04/16 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
应聘教师推荐信
2013/10/31 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
《风筝》教学反思
2014/04/10 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
经济管理专业求职信
2014/06/09 职场文书
团队拓展活动方案
2014/08/28 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
大学生活感想
2015/08/10 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书