解決安卓手機input獲取焦點時會將底部固定定位按鈕頂起的問題


一個頁面上有個固定在底部的按鈕,頁面中有個input框,點擊input框獲取焦點時,在蘋果手機上沒事,但在安卓手機上彈出的鍵盤會將按鈕頂起來,這就很不好看了,想了個辦法解決一下。之前一直覺得用input獲取焦點和失去焦點來改變底部按鈕的定位,但是有的手機可以隱藏鍵盤,但是不會失去焦點,這個方法就不行了。后來想了一下,鍵盤彈出,改變了窗口的大小,所以就想在onresize中來解決。代碼如下:

var flag = false;//先定義一個變量,當改變窗口大小的時候用來做判斷

$("input").focus(function(){//獲取焦點時,flag為true

flag = true;

});

window.onresize = function(){

if(flag){//如果flag為true,鍵盤彈起,改變底部按鈕的position,同時將flag改為false

$("button").css({"position":"initial"});

flag = false;

}else {

$("button").css({"position":"fixed"});

if(document.activeElement.id == "changeNum"){//如果只是收起鍵盤,而不失去焦點,仍然將flag設為true,否則鍵盤彈起時仍會將底部按鈕頂起

flag = true;

};

};

};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM