输入框VS软键盘

Ella2018 2019-03-18 原文

输入框VS软键盘

最近在做一个h5的时候遇到的问题

我们都知道当页面上的有输入框被选中了,这个时候就回调出键盘用户可以输入。但是安卓手机在弹出键盘时页面的输入框也会被覆盖住;

以下为暂时的解决办法:(以下方法同时解决了ois当失去焦点时,页面高度不能重置的问题

解决思路:首先判断是机型—-》强制将输入框显示到页面的可视区域内scrollIntoViewIfNeeded()相当于scrollIntoViewIfNeeded(true)

var u = navigator.userAgent.toLowerCase();

var isARD = u.indexOf(‘android’) > -1 || u.indexOf(‘adr’) > -1;

var isResize

//输入框
$(“#inp_name,#inp_res”).on(“focus”,function(e)
{
  isResize=false;
})
$(“#inp_name,#inp_res”).on(“blur”,function(e)
{
  window.scrollTo(0,0);
  isResize=true;
  resizeF()
})

if(isARD)
{
  var clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
  window.addEventListener(“resize”, function()
  {
    if(document.activeElement.tagName==”INPUT” || document.activeElement.tagName==”TEXTAREA”)
    {
      window.setTimeout(function()
      {
        document.activeElement.scrollIntoViewIfNeeded();
        //document.activeElement.scrollIntoView();
      },0);
    }

    var nowClientHeight = document.documentElement.clientHeight || document.body.clientHeight;
    if (clientHeight > nowClientHeight) {/*键盘弹出的事件处理*/}
    else {/*键盘收起的事件处理8*/$(“#inp_name,#inp_res”).blur(); }
  })
}

function resizeF()
{
  setTimeout(function()
  {
    if(!isResize){return}
    ww=$(window).width();hh=$(window).height();
    //———-
    $(“#wrap”).css({“top”:(hh-defaultH)*.5});  
    window.scroll(0,0);
  },100)
}

 

posted on 2019-03-18 14:09 小迷糊之糊里糊涂 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为Ella2018原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Ella2018/p/10551863.html

输入框VS软键盘的更多相关文章

随机推荐

  1. K8s集群检查安装结果

    一、组件方式检查 1. Master节点: root>> kubectl get cs 2. No […]...

  2. a标签点击下载不让他跳转到空白页的方法

    今天项目需求,点击下载文件不要跳到空白页 一开始用a标签href文件下载地址测试其他浏览器可以就ie跳到空白页 […]...

  3. 二维数组的两种访问方式 – acodewarrior

    二维数组的两种访问方式 例1:  int arr[4][5];  int *p; p=arr[0];//正确 […]...

  4. 简易数据分析 07 | Web Scraper 抓取多条内容

    这是简易数据分析系列的第 7 篇文章。 在第 4 篇文章里,我讲解了如何抓取单个网页里的单类信息; 在第 5 […]...

  5. 用 Deployment 运行应用 – 每天5分钟玩转 Docker 容器技术(123)

    从本章开始,我们将通过实践深入学习 Kubernetes 的各种特性。作为容器编排引擎,最重要也是最基本的功能 […]...

  6. js触发按钮点击事件 – nickTimer

    js触发按钮点击事件 js触发按钮点击事件 function load(){ //下面两种方法效果是一样的 d […]...

  7. Java——异常

    前言 Java中使用异常机制去处理程序错误,减少了错误处理代码的复杂度。不必在程序每个可能出现错误的地方都进行 […]...

  8. 求单调递增最长子序列长度

    设计O(n*n)时间的算法,求n个数组成的序列的单调递增最长子序列长度 这道题在算法分析课本中属于课后习题,许 […]...

展开目录

目录导航