手记

ios键盘事件

//键盘事件
    var u = navigator.userAgent;
    var flag;
    var myFunction;
    var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
    
    document.body.addEventListener('focusin', () => {  //软键盘弹起事件
        flag=true;
        clearTimeout(myFunction);
    })
    document.body.addEventListener('focusout', () => { //软键盘关闭事件
        flag=false;
        if(!flag){
            myFunction = setTimeout(function(){  
                var scrollHeight =
          document.documentElement.scrollTop || document.body.scrollTop || 0;
                window.scrollTo({top:Math.max(scrollHeight - 1, 0),left:0,behavior:"smooth"})//重点  =======当键盘收起的时候让页面回到原始位置(这里的top可以根据你们个人的需求改变,并不一定要回到页面顶部)
                
            },200);
        }else{
            return
        }
    })

第二种解决方法


 $(".xxx").on("blur",'input',function(){
 var toFix=$(this).offset().top;
 window.scroll(0,toFix); 
 });


1人推荐
随时随地看视频
慕课网APP