在使用iPhone X點(diǎn)擊輸入框喚起虛擬鍵盤后,手指點(diǎn)擊屏幕的位置發(fā)生了偏移:原本能點(diǎn)到的位置,現(xiàn)在需要在原來位置的上面一些才能點(diǎn)到。目前只有iPhone遇到過這種情況,而安卓的全面屏手機(jī)是沒有發(fā)現(xiàn)問題的。
可以采用以下寫法解決:
// 依賴jQuery的寫法
window.$('body,html').scrollTop(window.$(document).scrollTop());
// 原生實(shí)現(xiàn)
setTimeout(() => {
const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
// 測試過程中發(fā)現(xiàn)下面這一條是不必要的
document.getElementsByTagName('html')[0].scrollTop = scrollTop;
// 測試過程中發(fā)現(xiàn)只需要下面這一條即可
document.getElementsByTagName('body')[0].scrollTop = scrollTop;
}, 0);