移動端調起軟鍵盤遮蓋input
阿新 • • 發佈:2018-12-14
function pushKey() { let target = this; setTimeout(function() { target.scrollIntoViewIfNeeded(true); },100); if(/Android [4-8]/.test(navigator.appVersion)) { window.addEventListener("resize", function() { if(document.activeElement.tagName == "INPUT" || document.activeElement.tagName == "TEXTAREA") { window.setTimeout(function() { document.activeElement.scrollIntoViewIfNeeded(); },100); } }) } }
scrollIntoView(alignWithTop): 滾動瀏覽器視窗或容器元素,以便在當前視窗的可見範圍看見當前元素。
alignWithTop 若為 true,或者什麼都不傳,那麼視窗滾動之後會讓呼叫元素的頂部與視口頂部儘可能平齊;
alignWithTop 若為 false,呼叫元素會盡可能全部出現在視口中,可能的話,呼叫元素的底部會與視口頂部平齊,不過頂部不一定平齊。
支援的瀏覽器:IE、Chrome、Firefox、Safari和Opera。
該方法是唯一一個所有瀏覽器都支援的方法,類似還有如下方法,但是隻有在Chrome和Safari有效:
scrollIntoViewIfNeeded(alignCenter )
scrollByLines(LineCount)