【发布时间】:2021-09-17 06:36:27
【问题描述】:
我在我的 webview 中显示这个联系表单,但是当我点击最底部的文本区域时,它会聚焦它并将视点移动到中心(我认为这是正常/理想的行为)但是在键盘之后隐藏它保持原样,从而在底部创建一个空白区域,除非我单击最顶部的输入文本,否则它将陷入此状态。我在 IOS 14 上检查了此行为,似乎已修复。但我只是想知道如何在 IOS 13 上解决这个问题。
【问题讨论】:
我在我的 webview 中显示这个联系表单,但是当我点击最底部的文本区域时,它会聚焦它并将视点移动到中心(我认为这是正常/理想的行为)但是在键盘之后隐藏它保持原样,从而在底部创建一个空白区域,除非我单击最顶部的输入文本,否则它将陷入此状态。我在 IOS 14 上检查了此行为,似乎已修复。但我只是想知道如何在 IOS 13 上解决这个问题。
【问题讨论】:
我花了一整天的时间才弄清楚这是我的解决方案。
对于 IOS 13,只需在键盘隐藏后滚动到 (0,0)(您可以通过 textarea 或 input 的 onblur 收听。
const scrollTopAfterKeyboardHide = () => {
Array.from(document.querySelectorAll("textarea, input"), r => {
r.onblur = r => {
scroll(0, 0)
}
})
}
function iOSversion() {
if (/iP(hone|od|ad)/.test(navigator.platform)) {
var a = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/)
return parseInt(a[1], 10)
}
}
【讨论】: