1. 程式人生 > >移動端調起軟鍵盤遮蓋input

移動端調起軟鍵盤遮蓋input

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)