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. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””2. docker-compose中volumes的問(wèn)題3. boot2docker無(wú)法啟動(dòng)4. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.5. nignx - docker內(nèi)nginx 80端口被占用6. dockerfile - 為什么docker容器啟動(dòng)不了?7. node.js - antdesign怎么集合react-redux對(duì)input控件進(jìn)行初始化賦值8. docker容器呢SSH為什么連不通呢?9. java - SSH框架中寫(xiě)分頁(yè)時(shí)service層中不能注入分頁(yè)類(lèi)10. 關(guān)于docker下的nginx壓力測(cè)試

網(wǎng)公網(wǎng)安備