iPhone X等iOS全面屏机型唤起虚拟键盘后导致页面点击偏移的问题

在使用iPhone X点击输入框唤起虚拟键盘后,手指点击屏幕的位置发生了偏移:原本能点到的位置,现在需要在原来位置的上面一些才能点到。目前只有iPhone遇到过这种情况,而安卓的全面屏手机是没有发现问题的。

可以采用以下写法解决:

// 依赖jQuery的写法
window.$('body,html').scrollTop(window.$(document).scrollTop());

// 原生实现
setTimeout(() => {
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
  // 测试过程中发现下面这一条是不必要的
  document.getElementsByTagName('html')[0].scrollTop = scrollTop;
  // 测试过程中发现只需要下面这一条即可
  document.getElementsByTagName('body')[0].scrollTop = scrollTop;
}, 0);

你可能感兴趣的:(iPhone X等iOS全面屏机型唤起虚拟键盘后导致页面点击偏移的问题)