1、一般情況下
在移動端,點擊input框之后,會彈出輸入鍵盤。而內(nèi)容input的內(nèi)容也會自動滾動到可視區(qū)域內(nèi)。
2、當父元素設(shè)置了overflow屬性之后
在設(shè)置了overflow屬性之后,點擊input框之后,input卻無法滾動到可視區(qū)域內(nèi),在此情況下,我們應(yīng)該怎么做呢。
3、解決方案
1、父元素不要應(yīng)用overflow屬性
2、手動滾動當前活動元素滾動至可視區(qū)域
通過scrollIntoView或scrollIntoViewIfNeeded這兩個api可使元素滾動至可視區(qū)域
如下是我的解決方案:
const h = document.body.scrollHeight;
window.onresize = function() {
if (document.body.scrollHeight < h) {
setTimeout(() => {
document.activeElement.scrollIntoView({ behavior: "smooth" });
});
}
};