底部菜單被輸入法頂上去的解決方案


安卓手機輸入法彈出,消失會觸發

window.onresize事件,
我們一般的解決方法是獲取焦點,底部隱藏,失去焦點,底部菜單出現,但是,有些人會點擊這個按鈕收起鍵牌

那么,這個時候你的失去焦點無效,還有一種方法呢,是把position:fixed;改成position:absoult;這樣底部菜單就不會頂上去,但是這種方法,經過我的實驗,還是會被輸入法頂上去,這兩種方法都不要完全解決問題,還有一種是布局的問題,主頁面:position:relative,底部菜單:position:absoult;這個方法在一定的時間段內有用,這幾種方法在做逛周邊的時候我都用過,結果全被測試打回,這個bug只能解決,畢竟有些處女座是無法忍受這種問題,寫了那么多的廢話,下面貼出解決辦法:兼容安卓和蘋果:

安卓手機。針對這個輸入法隱藏事件

安卓手機有這個事件,iphone沒有,iphone點擊這個按鈕會讓input框失去焦點

window.onresize = function () {

var h = $(window).height();
//console.log(h+','+window.screen.availHeight)
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
if(h <= window.screen.availHeight/2){
$('#toNav').css({'position':'absoult',"margin-top":"-.5rem",'display':'none'});
}else{
$('#toNav').css({'position':'fixed','display':'block'});

}
}

}
$('input').on('focus',function(){
     $('#toNav').hide();
})
$('input').on('blur',function(){
     $('#toNav').show();
})
注:有代碼潔癖的人可看下面的,前面代碼,已解決底部菜單被輸入法頂上去的問題
另外input框是去焦點,底部菜單出現時,會出現底部菜單被彈上去,然后再彈下來,這個一般有些人都不會忍,
所有我們失去焦點需要改變一下底部的樣式,在安卓上和iphone上有時候底部的樣式有可能會不同,這個時候我們需要判斷手機類型去修改樣式

 

 

 
       


免責聲明!

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



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