移动端解决input获取焦点软键盘弹出影响定位的问题

这是刚做前端时候写的文章,拿到简书上做记录吧!以免以后再遇到这样的坑。

在最近的一次H5页面开发中,发现在安卓端点击输入框的时候虚拟键盘会把最下边的‘保存’按钮顶上去。

在试了很多方法后找到了解决方案:

代码如下:

$('#phone').bind('focus',function(){
    $('.bottom_fix').css('position','static');
    //或者$('#viewport').height($(window).height()+'px');
}).bind('blur',function(){
        $('.bottom_fix').css({'position':'fixed','bottom':'0'});
      //或者$('#viewport').height('auto');
});

其原理其实是聚焦input框时改变ibottom_fix的布局使其不顶到页面顶端,失去焦点时让bottom_fix回到fixed布局。
注:#phone为input录入框,bottom_fix为固定按钮。

以下为参考资料:

1.移动端解决fixed和input获取焦点软键盘弹出影响定位的问题

2.【小贴士】虚拟键盘与fixed带给移动端的痛!

推荐阅读更多精彩内容