IOS 中 表单获取焦点后,外部元素对 scrollTop 赋值不生效

场景

在微信活动页中,页面底部有一块留言区,当输入框获得焦点,软键盘会弹起并将其遮挡

为了避免被遮挡,可以利用JS调整滚动条位置。

测试机型

  • IPHONE 6 PLUS IOS 9.3.3

  • 魅族 MX5 android 5.1

  • Window 7 Chrome 58.0.3029.81

代码

// 等软键盘先出现再执行
setTimeout(()=>{
el.scrollTop = el.scrollHeight
},300)
}

问题

在非 IOS 中,可以正常实现滚动到底部

而 IOS 中,由于当前输入框获取了焦点,导致这种方案不生效。

解决方

方案一

先让输入框失去焦点,再设置 scrollTop 的值,再获取焦点。

用户容易看到软键盘来回弹,体验不好。

方法

 {
      // scrollIntoView 兼容主流移动设备
        e.target.scrollIntoView(true)
    },300)
}

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...