javascript - 移動端頁面 手機鍵盤擋住了輸入框
問題描述
正常情況
問題
每次當手機切換app或窗口時,再回到該頁面時 第一次 點擊輸入框,鍵盤就會把輸入框擋住,只有第一次點擊會擋住。這是什么原因導致的?然后我發現此時頁面的滾動條是沒有滾動到最底部, 所以我給輸入框聚焦時綁定了個事件$(’.input’).on(’focus’, function() {
$(window).scrollTop(99999);
});但是頁面的滾動條還是沒有滾到最底部,輸入框還是給鍵盤擋住了。
$(document) $(’body, html’) 也試過了.
問題解答
回答1:安卓瀏覽器在軟鍵盤彈出后不會像iOS瀏覽器那樣重新計算window的高度,所以導致安卓瀏覽器window的高度在軟鍵盤彈出的時候為“軟鍵盤的高度+(window的高度-軟鍵盤的高度)”;而其實,此時,合理的高度應該是頁面的高度+軟鍵盤彈出的高度;就此解決方案為如下:
var winHeight = $(window).height(); //獲取當前頁面高度 $(window).resize(function() {var thisHeight = $(this).height();if (winHeight - thisHeight > 50) { //當軟鍵盤彈出,在這里面操作 //alert(’aaa’); $(’body’).css(’height’, winHeight + ’px’);} else { //alert(’bbb’); //當軟鍵盤收起,在此處操作 $(’body’).css(’height’, ’100%’);} }); 回答2:
你這是底部輸入框樣式的問題吧,試試這個上面的方法。/a/11...
回答3:二樓正解,其實就是瀏覽器兼容性問題
回答4:好像沒有啥好辦法
相關文章:
1. mysql 查詢身份證號字段值有效的數據2. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題3. mysql - 把一個表中的數據count更新到另一個表里?4. javascript - 彈出一個子窗口,操作之后關閉,主窗口會得到相應的響應,例如網站的某些登錄界面,django后臺的管理等,這是怎么實現的呢?5. 視頻文件不能播放,怎么辦?6. 請教使用PDO連接MSSQL數據庫插入是亂碼問題?7. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處8. python bottle跑起來以后,定時執行的任務為什么每次都重復(多)執行一次?9. android - 分享到微信,如何快速轉換成字節數組10. visual-studio - Python OpenCV: 奇怪的自動補全問題
