最近在作H5的項目,彈出框裏有input
,測試在測兼容時候發現,input
光標下移,偏移位置。只有 ios11 系統會出現這種狀況。 html
github
一下發現是 ios11 系統版本帶來的 Bug,緣由就是:彈框的定位採起
position:fixed
,而 ios(safari) 對定位屬性
position:fixed
的解析不一致致使。
fixed
用
absolute
替換掉。可是首頁過長,會致使彈出框定位到第一屏,當頁面滑到最下發,點擊登陸會致使看不到彈出框。
overflow:hidden;
document.body.scrollTop = document.documentElement.scrollTop = 0;
document.body.style.overflow = "hidden";
複製代碼
在關閉彈窗時候記得把body設置回來overflow:auto;
喲~ios
document.body.style.overflow = "auto";
複製代碼
第二個問題就是在ios中輸入完第一個input,在去點第二個input框時候,會出現彈出框上來,要在拉一下才能回到原位。 git
input
失焦時候,自動回滾一下。代碼以下:
<input v-model="pwdNum" type="password" placeholder="請輸入交易密碼" class="input-form" autocomplete="new-password"/>
複製代碼
js:github
//失去焦點回正
changeCount(){
window.scroll(0,0);
}
複製代碼
這就是我解決這兩個問題的方法,但願有遇到一樣問題的小夥伴,能夠幫助到你喲~bash