手机端h5页面,点击输入框,背景图片被挤压变形,苹果手机背景图回不来,下方留有空白

之前写手机端自适应手机设备页面的时候,遇到了一个问题,就是比如有一个页面,需要输入手机号,验证码,在你点击输入框的时候,整个背景图片被挤压变形,变得特别难看,秩序加入下面这行代码,就可解决背景图片被挤压变形的问题;

  //解决背景图向上挤压变形

$('body').height($('body')[0].clientHeight);

    还有一个问题就是,上面的js代码在安卓手机上是可以完美解决的,但是在苹果手机中就会出现一些问题,点击输入框之后,整体的背景图会放大,进而页面布局就会变形,很难看关于这个问题前面的文章讲过,就是让背景图片静止缩放就行了。

    在苹果手机中还有一个问题就是,点击输入框,输入内容之后,关闭输入法,顶上去的背景图回不来,在屏幕下方就会出现空白,很难看,尤其是还有弹出层的时候,就会出现在下方,简直不要太难看,以下几行代码就可解决:

//苹果手机输入法关掉后背景图下方留白

        var u = navigator.userAgent, app = navigator.appVersion

        var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

        $(document).ready(function(){

        $("input").blur(function(){

        if (isIOS) {

            blurAdjust()

            // alert("1231321233")

        }

    });

});

        // 解决苹果不回弹页面

        function blurAdjust(e){

        setTimeout(()=>{

        // alert("1231321233")

        if(document.activeElement.tagName == 'INPUT' || document.activeElement.tagName == 'TEXTAREA'){

    return

}

    let result = 'pc';

    if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS

    result = 'ios'

    }else if(/(Android)/i.test(navigator.userAgent)) {  //判断Android

    result = 'android'

}

if( result = 'ios' ){

document.activeElement.scrollIntoViewIfNeeded(true);

}

},100)

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。