[BUG]ios中input不回弹,导致fixed布局错位

Posted whosmeya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[BUG]ios中input不回弹,导致fixed布局错位相关的知识,希望对你有一定的参考价值。

描述

ios13.

IOS设备中,input唤醒软键盘后,body整体会向上滚动,如果input框输入完成确定后,如果页面在最底部则不回弹,导致fixed布局实际效果上移,fixed布局内按钮点不到。

如图

解决方案

input onblur 让body滚动,页面回弹

function inputBlur() {
  if (/iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase())) {
    let speed = 1;
    setTimeout(function () {
      var currentPosition = document.documentElement.scrollTop || document.body.scrollTop;
      currentPosition -= speed;
      window.scrollTo(0, currentPosition); // 页面向上滚动
      currentPosition += speed;
      window.scrollTo(0, currentPosition); // 页面向下滚动
    });
  }
}

解决方案在线演示


以上是关于[BUG]ios中input不回弹,导致fixed布局错位的主要内容,如果未能解决你的问题,请参考以下文章

iOS下的 Fixed + Input BUG现象

解决ios移动端,滑动回弹效果遮挡页面顶部和底部Fixed元素的问题

iOS下的 Fixed BUG

web移动端fixed布局和input等表单的爱恨情仇 - 终极BUG,完美解决

IOS11 光标错位问题

ios软键盘将页面抵到上面后,关闭软键盘页面不回弹