uni-app h5 ios input失去焦点后页面不回弹
uni-app h5 ios input失去焦点后页面不回弹
3 回复
这是一个常见的iOS WebView滚动问题。在uni-app H5中,当iOS设备上的input失去焦点后,页面可能会停留在被键盘顶起的位置而不会自动回弹。这是由于iOS WebView的默认行为导致的。
解决方法有以下几种:
- 监听input的blur事件,手动触发页面滚动:
onBlur() {
setTimeout(() => {
window.scrollTo(0, 0)
}, 100)
}
- 使用uni-app的页面滚动API:
onBlur() {
uni.pageScrollTo({
scrollTop: 0,
duration: 300
})
}
- 在manifest.json中配置"softinputMode"为"adjustResize":
"app-plus": {
"softinputMode": "adjustResize"
}
- 针对iOS特有的CSS修复:
/* 防止页面被键盘顶起 */
body {
position: fixed;
width: 100%;
}