手机页面 键盘遮挡 解决方法

| 阅读:2741 发表时间:2017-06-28 15:30:00 Javscript

最近的项目做得是混合开发,其实比较尴尬的啦,手机端的安卓iOS挺多兼容问题的。

1、手机端h5页面中输入法键盘会遮挡输入框的问题。

      $('input').on('focus',function(event){             //自动反弹 输入法高度自适应        var target = this;        setTimeout(function(){            target.scrollIntoViewIfNeeded();        },100);    });

由于不同的输入法键盘高度不一致,这使得我们在开发当中要做很多兼容,但是针对不同的输入法键盘和不同的手机去做这样一个兼容是很耗费时间的。

像苹果手机就有自带的输入法,当我们使用自带的输入法时,键盘也许不会遮挡输入框,然而用户会使用各种各样的输入法。

所以,

jQuery的scrollIntoViewIfNeeded()方法,可以做到将输入框移动至视野中。

从而解决了键盘遮挡文本输入框的问题。

2、模仿微信输入框失去焦点时隐藏iphone的软键盘和聚焦时出现输入框

function BlurOrFocus(){     var obj = document.getElementsByClassName('input')[0];   var  docTouchend = function(event){       if(event.target!=obj){           setTimeout(function(){               obj.blur();               document.removeEventListener('touchend',docTouchend,false);           },1000);       }   }     if(obj){         obj.addEventListener('touchstart',function(){             document.addEventListener('touchend',docTouchend,false);         },false);     }}

BlurOrFocus();

这里是实现了当手触碰到文本输入框之外的地方,就将输入法键盘隐藏。


*文章为作者独立观点,不代表Templet360的立场
本文由Templet360发表并编辑,转载此文章须经作者同意,并请附上出处及本页链接。如有侵权,请联系本站删除。

热门推荐