手機瀏覽器瀏覽WebApp彈出的鍵盤遮蓋住文本框的解決辦法


最近碰到Android微信內置瀏覽H5頁面,因為其中的文本輸入框(input)放置在靠近頁面的中下方,點擊文本框以后,則輸入框會被彈出的手機輸入法鍵盤遮蓋住。

找到一段js代碼直接解決之,點擊時強制滾動之,好像也解決了在Android瀏覽器下瀏覽的同樣問題。

 

1 if(/Android [4-6]/.test(navigator.appVersion)) {
2     window.addEventListener("resize", function() {
3         if(document.activeElement.tagName=="INPUT" || document.activeElement.tagName=="TEXTAREA") {
4             window.setTimeout(function() {
5                 document.activeElement.scrollIntoViewIfNeeded();
6             },0);
7         }
8     })
9 }

 

補充一段代碼:對於某些頁面,由於頁面設計底部可能有工具欄(比如某些頁面固定了一個footer在底部),這時候雖然系統計算出來不需要滾動,但彈出輸入法時,底部的工具欄卻移動上去正好遮蓋住輸入框(常見於輸入框正好在頁面中部的情況)。
這時候可以通過判斷屏幕高度變化來隱藏該底部工具欄。

    <script type="text/javascript">
        document.write( '<style>#footer{visibility:hidden}@media(min-height:' + ($( window ).height() - 10) + 'px){#footer{visibility:visible}}</style>' );
    </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM