我們在使用jQuery開發Web頁面的時候,常常遭遇到鍵盤遮擋輸入框的問題。解決這個問題的方法非常簡單,我們只需要使用一些jQuery代碼即可。
$(function(){ $('input,textarea').on('focus',function(){ var target = this; setTimeout(function(){ target.scrollIntoViewIfNeeded(); },100); }); });
代碼中使用了jQuery的on方法,當輸入框或文本域獲得焦點時,執行一個回調函數。在這個回調函數里面,我們通過setTimeout函數延遲一段時間(推薦100毫秒)執行一個函數,這個函數的作用是將當前輸入框滾動到屏幕可見范圍內。
我相信這個方法很多人應該都接觸過了,它解決的是當頁面被輸入法盤彈出的時候,輸入框或者文本域可能被遮擋的問題,實際上我們可以對它進行一定的改進,讓它變得更加方便實用。接下來我們來看看如何改進:
$(function(){ $('body').on('focus','input, textarea, select',function(){ var target = this; setTimeout(function(){ target.scrollIntoViewIfNeeded(); },100); }); });
首先我們修改了代碼,將事件綁定到body元素上,這樣可以確保頁面上的所有輸入框和下拉框都被監聽到了,無需重復編寫代碼。其次,在選擇器里面還添加了select元素,這是因為下拉框在手機上比輸入框更容易被遮擋。
通過上述方法,我們可以輕松解決鍵盤遮擋輸入框的問題,讓我們的Web頁面更加完美。希望這篇文章對您的學習有所幫助。
上一篇html的二級導航代碼
下一篇css 如何設定多個后代