js移動端監聽軟鍵盤彈出和收起事件

2021-09-27 12:38:43 字數 639 閱讀 2343

在蘋果手機上,當軟鍵盤收起時輸入框會失去焦點;但是在安卓實際上,鍵盤收起時輸入框並不一定會失去焦點,但是會引起window的高度變化

因此,在安卓手機上可以通過window.onresize事件判斷鍵盤收起還是彈出,在蘋果手機上可以通過輸入框失去和得到焦點事件來判斷

//判斷機型

var isandroid = u.indexof("android") > -1 || u.indexof("adr") > -1; //android終端

var isios = !!u.match(/\(i[^;]+;( u;)? cpu.+mac os x/); //ios終端

var _self = this;

//android

if (isandroid) else };}

// ios:focusin和focusout支援冒泡,對應focus和blur, 使用focusin和focusout的原因是focusin和focusout可以冒泡,focus和blur不會冒泡,這樣就可以使用事件**,處理多個輸入框存在的情況。

if (isios) );

document.body.addeventlistener("focusout", () => );

}

js 移動端之監聽軟鍵盤彈出收起

js 移動端關於頁面布局,如果底部有position fixed的盒子,又有input,當軟鍵盤彈出收起都會影響頁面布局。這時候android可以監聽resize事件,如下,而ios沒有相關事件。解決安卓鍵盤彈出問題 var oheight document height window resize...

h5 移動端 監聽軟鍵盤彈起 收起

回車確認 btn on keypress function e document keyup function e 1.在ios中軟鍵盤彈起時,僅會引起 body scrolltop值改變,但是我們可以通過輸入框的獲取焦點情況來做判斷,但也只能在ios中採用這個方案,因為在android中存在主動收...

h5 移動端 監聽軟鍵盤彈起 收起

window.onresize事件來做突破點的,但是 ios 中軟鍵盤的彈起收起並不觸發 window.onresize 事件 總結 1 在 ios 中軟鍵盤彈起時,僅會引起 body scrolltop 值改變,但是我們可以通過輸入框的獲取焦點情況來做判斷,但也只能在 ios 中採用這個方案,因為...