javascript - 移動(dòng)端頁(yè)面 手機(jī)鍵盤(pán)擋住了輸入框
問(wèn)題描述
正常情況
問(wèn)題
每次當(dāng)手機(jī)切換app或窗口時(shí),再回到該頁(yè)面時(shí) 第一次 點(diǎn)擊輸入框,鍵盤(pán)就會(huì)把輸入框擋住,只有第一次點(diǎn)擊會(huì)擋住。這是什么原因?qū)е碌模咳缓笪野l(fā)現(xiàn)此時(shí)頁(yè)面的滾動(dòng)條是沒(méi)有滾動(dòng)到最底部, 所以我給輸入框聚焦時(shí)綁定了個(gè)事件$(’.input’).on(’focus’, function() {
$(window).scrollTop(99999);
});但是頁(yè)面的滾動(dòng)條還是沒(méi)有滾到最底部,輸入框還是給鍵盤(pán)擋住了。
$(document) $(’body, html’) 也試過(guò)了.
問(wèn)題解答
回答1:安卓瀏覽器在軟鍵盤(pán)彈出后不會(huì)像iOS瀏覽器那樣重新計(jì)算window的高度,所以導(dǎo)致安卓瀏覽器window的高度在軟鍵盤(pán)彈出的時(shí)候?yàn)椤败涙I盤(pán)的高度+(window的高度-軟鍵盤(pán)的高度)”;而其實(shí),此時(shí),合理的高度應(yīng)該是頁(yè)面的高度+軟鍵盤(pán)彈出的高度;就此解決方案為如下:
var winHeight = $(window).height(); //獲取當(dāng)前頁(yè)面高度 $(window).resize(function() {var thisHeight = $(this).height();if (winHeight - thisHeight > 50) { //當(dāng)軟鍵盤(pán)彈出,在這里面操作 //alert(’aaa’); $(’body’).css(’height’, winHeight + ’px’);} else { //alert(’bbb’); //當(dāng)軟鍵盤(pán)收起,在此處操作 $(’body’).css(’height’, ’100%’);} }); 回答2:
你這是底部輸入框樣式的問(wèn)題吧,試試這個(gè)上面的方法。/a/11...
回答3:二樓正解,其實(shí)就是瀏覽器兼容性問(wèn)題
回答4:好像沒(méi)有啥好辦法
相關(guān)文章:
1. javascript - 天貓首頁(yè)首屏數(shù)據(jù)來(lái)源2. mysql - 僅僅只是把單引號(hào)與反斜杠轉(zhuǎn)義不用prepare statement能否避免sql注入?3. macOS Sierra 10.12 安裝mysql 5.7.1出現(xiàn)錯(cuò)誤4. 新入手layuiadmin,部署到tp中。想用php自已寫(xiě)一個(gè)后臺(tái)管理系統(tǒng)。5. javascript - 按鈕鏈接到另一個(gè)網(wǎng)址 怎么通過(guò)百度統(tǒng)計(jì)計(jì)算按鈕的點(diǎn)擊數(shù)量6. mysql在限制條件下篩選某列數(shù)據(jù)相同的值7. php - 生產(chǎn)環(huán)境下,給MySQL添加索引,修改表結(jié)構(gòu)操作,如何才能讓線上業(yè)務(wù)不受影響?8. mysql - 拖拽重排序后怎么插入數(shù)據(jù)庫(kù)?9. javascript - 微信小程序 wx.downloadFile下載文件大小有限制嗎10. mysql 獲取時(shí)間函數(shù)unix_timestamp 問(wèn)題?
