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. nignx - docker內(nèi)nginx 80端口被占用2. debian - docker依賴的aufs-tools源碼哪里可以找到啊?3. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?4. 前端 - ng-view不能加載進(jìn)模板5. android clickablespan獲取選中內(nèi)容6. docker容器呢SSH為什么連不通呢?7. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””8. docker綁定了nginx端口 外部訪問(wèn)不到9. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果10. docker images顯示的鏡像過(guò)多,狗眼被亮瞎了,怎么辦?
