h5开发安卓机型点击输入框调起输入法,输入框被键盘遮挡的解决方法

前言:

从以前的项目中找一个问题的解决方案,顺带找到了这个安卓机型调起输入法,页面没有自动上滑导致输入框被弹起的键盘遮挡的解决方案。这个问题只有安卓机型页面中的输入框处于底部(也就是底部键盘区域)的时候才会出现,近一年的项目中很少有表单输入比较多的场景,所以一直都没碰到这种问题。现在记录下来,以后需要的时候好找些。

示例代码:

公共方法封装:

//调起输入法,键盘自动上滑
function inputUp(ele){
  //安卓机型,自动上滑露出输入框
  var u = navigator.userAgent;
  var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
  if(isAndroid){
    $(ele).on('click', function () {
      var target = this;
      setTimeout(function(){
            target.scrollIntoViewIfNeeded();
       },100);
    });
    $(ele).on('focus', function () {
      //自动反弹 输入法高度自适应
      var winHeight = $(window).height(); //获取当前页面高度
        $(window).resize(function() {
          var thisHeight = $(this).height();
          if (winHeight - thisHeight > 50) {
            //当软键盘弹出,在这里面操作
            $('body').css('height', winHeight + 'px');
          } else {
            //当软键盘收起,在此处操作
            $('body').css('height', '100%');
          }
        });
    });
  }
}

方法使用:

vue项目为例,需要在页面渲染的时候进行调用,其中num为输入文本框的类名。一般页面顶部的文本框不需要处理,底部需要处理的所有的文本框都要调用这个方法。

1 mounted: function(){
2     common.inputUp('.num');
3 }

 

转载于:https://www.cnblogs.com/xyyt/p/11157925.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值