ios11.3之前H5中input框游標位置怪異(不正確),已解決!

起風了發表於2021-11-05

問題描述:

在ios11.3之前H5中在彈出層使用input框,游標位置怪異(不正確),偶現情況,在後續ios更新中,已經將此bug修復,但是為了防止使用者系統低導致問題,還是做了適配。

原因:
是因為在彈出層中使用了position:fixed導致的ios定位不準確,ios解析fixed有問題。

解決1:
在彈出層中不要使用position:fixed;

解決2:
難免還是使用position:fixed是比較尋常的,所以,另外一種解決方式:
在input onfocus時,設定:

document.body.style.position = 'fixed'; //ios11 適配游標位置問題

在input onBlur時,設定:

document.body.style.position = 'static'; //ios11 適配游標位置問題

解決3:
如果可以,直接設定body的css樣式

 position: fixed;
 width: 100%;

以上,根據情況可以自選方式嘗試修復!

相關文章