使用 window.scrollIntoViewIfNeeded
具体代码
window.addEventListener('resize',function(){
if(document.activeElement.tagName === "INPUT" || document.activeElement.tagName === "TEXTAREA"){
window.setTimeout(function(){
document.activeElement.scrollIntoViewIfNeeded();
},20)
}
})
监听resize,当是input或者textarea的时候,触发此函数
(PS: ①、使用 === 而不是 == 的原因是, === 比 == 的速度要快;②、setTimeout最小执行毫秒数是20,而不是0,就算设置是0,也会有20ms的延迟。通常情况下,这段代码可满足。 详情查阅MDN)