javascript - 移動(dòng)端頁(yè)面 手機(jī)鍵盤擋住了輸入框
問(wèn)題描述
正常情況
問(wèn)題
每次當(dāng)手機(jī)切換app或窗口時(shí),再回到該頁(yè)面時(shí) 第一次 點(diǎ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)有滾到最底部,輸入框還是給鍵盤擋住了。
$(document) $(’body, html’) 也試過(guò)了.
問(wèn)題解答
回答1:安卓瀏覽器在軟鍵盤彈出后不會(huì)像iOS瀏覽器那樣重新計(jì)算window的高度,所以導(dǎo)致安卓瀏覽器window的高度在軟鍵盤彈出的時(shí)候?yàn)椤败涙I盤的高度+(window的高度-軟鍵盤的高度)”;而其實(shí),此時(shí),合理的高度應(yīng)該是頁(yè)面的高度+軟鍵盤彈出的高度;就此解決方案為如下:
var winHeight = $(window).height(); //獲取當(dāng)前頁(yè)面高度 $(window).resize(function() {var thisHeight = $(this).height();if (winHeight - thisHeight > 50) { //當(dāng)軟鍵盤彈出,在這里面操作 //alert(’aaa’); $(’body’).css(’height’, winHeight + ’px’);} else { //alert(’bbb’); //當(dāng)軟鍵盤收起,在此處操作 $(’body’).css(’height’, ’100%’);} }); 回答2:
你這是底部輸入框樣式的問(wèn)題吧,試試這個(gè)上面的方法。/a/11...
回答3:二樓正解,其實(shí)就是瀏覽器兼容性問(wèn)題
回答4:好像沒(méi)有啥好辦法
相關(guān)文章:
1. MySQL 使用 group by 之后然后 IFNULL(COUNT(*),0) 為什么還是會(huì)獲得 null2. wordpress里,這樣的目錄列表是屬于小工具還是啥?3. 一直報(bào)這個(gè)錯(cuò)誤4. 常量在外面不加引號(hào)會(huì)報(bào)錯(cuò)。5. python如何設(shè)置一個(gè)隨著系統(tǒng)時(shí)間變化的動(dòng)態(tài)變量?6. mysql - 大部分?jǐn)?shù)據(jù)沒(méi)有行溢出的text字段是否需要拆表7. mysql federated引擎無(wú)法開(kāi)啟8. sublime text3安裝package control失敗9. 我的怎么不顯示啊,話說(shuō)有沒(méi)有QQ群什么的10. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?
