具体原因不分析了,监听resize事件,获取当前点击的input输入框,将视图移动到当前input,使其全部显示,resize事件可能会回调多次。
class EventListener {
addResizeListenerForInput() {
window.addEventListener('resize', () => {
const focusedElement = document.activeElement
if (focusedElement.tagName === 'INPUT' || focusedElement.tagName === 'TEXTAREA') {
setTimeout(() => {
focusedElement.scrollIntoView()
}, 0)
}
})
}
removeResizeListenerForInput() {
window.removeEventListener('resize', () => {})
}
}
export default new EventListener()