有一个输入框(input
或者 textarea
),IOS 用户唤起键盘输入一串文字后,点击空白区域收起键盘。html
键盘成功收起,页面回到底部,可是点击提交按钮无反应。bash
键盘收起后,IOS没有进行页面重绘,从视觉上看页面已经回弹到底部,可是逻辑层还停留在上方,因此真正的提交按钮,在所看到按钮的上方(一个看不见的位置)。markdown
监听 失去焦点 事件后,手动触发一下页面滑动,就能够触发页面重绘,解决这个鬼畜问题。spa
onBlur() { // 延迟的做用:等待其余事件完成 setTimeout(() => { const top = document.getElementsByTagName('html')[0].offsetTop window.scroll(0, -1 * top) }, 500); } 复制代码