1. 程式人生 > >h5 input失去焦點軟鍵盤把頁面頂起

h5 input失去焦點軟鍵盤把頁面頂起

            var broswer=localStorage.getItem('temp')  //瀏覽器環境
            var u = navigator.userAgent
            var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //這個判斷 是不是ios手機
            var flag
            var myFunction
            if(broswer=='wx' && isiOS){ //既是微信瀏覽器 又是ios============(因為查到只有在微信環境下,ios手機上才會出現input失去焦點的時候頁面被頂起)
                document.body.addEventListener('focusin', () => {  //軟鍵盤彈起事件
                    flag=true
                    clearTimeout(myFunction);
                })
                document.body.addEventListener('focusout', () => { //軟鍵盤關閉事件
                    flag=false
                    if(!flag){
                        myFunction = setTimeout(function(){  
                            window.scrollTo({top:0,left:0,behavior:"smooth"})//重點  =======當鍵盤收起的時候讓頁面回到原始位置
                        },200);
                    }else{
                        return
                    }
                })
            }else{
                return
            }