最近在做一个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)
}

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

  1. ios移动输入框被软键盘遮挡

    页面输入框会出现被软键盘挡住的问题: 解决方法:获取input点击事件设置body高度 $('input').bind('click',function(e){ var $this = $(this) ...

  2. Android设置输入框和软键盘动态悬浮

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...

  3. flutter TextField 输入框被软键盘挡住的解决方案

    以前搞ionic1~4的开发中 和react-native   flutter中的机制完全不同, 在flutter 中 当前页面如果存在元素被软键盘挡住 的情况 页面元素的最外层肯定得嵌套一层   S ...

  4. IOS和安卓WEB页面,input输入框被软键盘遮挡解决方法

    本来以为这问题就只有ios才有,身边也没有android机测试,网上一搜,貌似有这个问题的还不少.最后把各种解决方法试了一边,貌似没什么用. 最后是这样解决的: setInterval(functio ...

  5. KeyboardUtil【软键盘弹出后输入框上移一定的高度】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 演示获取软键盘高度并保存,然后根据输入框的原有位置是否被软键盘挡住了,如果被挡住了则将整体页面上移一定的高度,当软键盘隐藏的时候再下 ...

  6. 点击底部input输入框,弹出的软键盘挡住input(苹果手机使用第三方输入法 )

    测试移动端页面的时候,偶然发现点击底部input输入框时,弹出的虚拟键盘偶尔会挡住input输入框. 输入框固定在页面底部,如图所示:   input固定底部设计图.png 点击底部input输入框唤 ...

  7. Android软键盘遮挡布局的那些事

    有朋友提到软键盘遮挡布局的问题,说网上找了很多资料都未能解决,下面我来总结一下那些事,有些内容也是从网友那里学来的,但是我都会自己验证正确了才会贴出来. 首先来分析下我们常见的遮挡问题有哪些(本次所说 ...

  8. 【移动开发】 Android隐藏输入法软键盘的一些说明

    刚刚在写一个仿微信的Android聊天软件,在编写的过程中,发现一个严重的BUG---当用户点击输入框用软键盘输入文本的时候点击了"返回好友列表"的按钮,返回到好友列表时软键盘无法 ...

  9. H5软键盘兼容方案

    前言 最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上.需求很明确,看似很简单,其实不然.从实验过一些机型上看,发现主要存在以下问题: ...

随机推荐

  1. View事件体系

    View事件体系 文章目录 View事件体系 一.Android View基础知识 1.1 View简介 1.2 View分类 1.3 View的结构 1.4 View的坐标 1.4.1 Androi ...

  2. eclipse光标变粗解决方法

    如上图,光标变成黑块好像没那么顺眼,原因是我们不小心按到了insert键造成的,再按一下insert键就OK了,如果delete和insert是一个键那么就用FN键+delete/insert键就可以 ...

  3. 蒙层嵌套pdf以及连接后台

    一.在本地浏览pdf(直接将element-dialog 和 iframe相结合)需要将要浏览的pdf放入static文件夹下面 <el-button type="text" ...

  4. UnboundLocalError: local variable 'f' referenced before assignment

    参考方案链接: 1.http://blog.chinaunix.net/uid-631981-id-3766212.html 2.http://blog.sina.com.cn/s/blog_4b9e ...

  5. 字符串的顺序倒置。(Reverse)

    实际遇到的问题:在串口获取码表数据的时候,有的码表传到电脑上的数字顺序是颠倒的,即:123.45,会显示为54.321.需要重新处理数据.方法很多,也不难实现,现在列举其中5个. public str ...

  6. python变量存储

    变量的存储 在高级语言中,变量是对内存及其地址的抽象. 对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的只 ...

  7. position三种属性的区别

    1.static(静态定位):默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). 2.relative(相对定位):生成相对 ...

  8. "HTML编码规范" 笔记

    转自学习网站(百度原创):https://github.com/ecomfe/spec/blob/master/html-style-guide.md 本文是百度培训网站上关于HTML编码规范的笔记, ...

  9. 如何制作exe小程序

    1.构建maven项目 需要有一个main入口函数 添加M2_HOME及,java_home的环境变量 打开Preference->Java->Installed JREs->Edi ...

  10. sql注入1

    一.函数 1.version() MYsql版本 2.user()    数据库用户名 3.database()   数据库名 4.@@datadir  数据库路径 5.@@version_compi ...