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