关于苹果手机输入法收回后页面不回弹

文章描述了一个在iOS设备上遇到的网页交互问题,即在输入框失去焦点后,由于输入法弹出导致的页面压缩未能恢复。作者提供了一个JavaScript解决方案,通过检测用户代理并设置定时器调整页面滚动位置来修复这个问题。这个方法可以在需要的输入框上添加‘blur’事件来应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间写了个需要使用输入框的网站,该网站在安卓手机上表现正常,但是部分IOS会出现点击输入框再点别的地方使输入框失去焦点之后,因为输入法出现压缩的页面并没有拉伸回原来的样子。

在查阅一些东西之后发现可以用以下代码解决问题

// 输入法输入后页面不回弹问题解决方法
const changeBlur = () => {
  let u = navigator.userAgent,
    app = navigator.appVersion;
  let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  if (isIOS) {
    setTimeout(() => {
      const scrollHeight =
        document.documentElement.scrollTop || document.body.scrollTop || 0;
      window.scrollTo(0, Math.max(scrollHeight - 1, 0));
    }, 100);
  }
};


// 在所有需要的输入框上加入此事件
<input @blur.prevent="changeBlur"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值