webapp 虛擬鍵盤隱藏留下空白解決辦法

2022-04-04 20:27:53 字數 801 閱讀 1434

但是有時會出現,blur觸發了虛擬鍵盤隱藏,但是虛擬鍵盤的背景區域依然保留在原來的位置。

點選body任何區域,或者在頁面中 alert() 阻塞一下,灰色背景就消失了;但是點選或者alert(),都需要使用者再次操作,嚴重影響使用者體驗。

因此,在鍵盤隱藏後阻塞一下,改變可視區域可以讓灰色背景隱藏,也不影響使用者體驗。

這裡是通過可視區域的高度來判斷虛擬鍵盤的顯示與隱藏。

js**如下:

var clientheight = document.documentelement.clientheight ||document.body.clientheight;

$(window).on('resize', function

() ); //

取消支付按鈕絕對定位,避免它移動到虛擬鍵盤上方

}

else

); //

恢復支付按鈕絕對定位

$('body').height(nowclientheight-1); //

改變body的高度

//阻塞一下才有效果

settimeout(function

() , 0);

}});

最後補充:移動端開發,用flex布局可以直接避免這個問題!!強烈推薦

android監聽虛擬鍵盤隱藏和顯示事件

剛開始在onconfigurationchanged中監聽,結果發現該方法在configuration變化即配置檔案發生變化時才會被呼叫,如橫豎屏切換,android重新載入配置檔案時。而鍵盤隱藏不會觸發該方法。後來採用如下方法完美解決了鍵盤隱藏監聽事件。該activity的最外層layout fi...

iPhone簡單實現鍵盤隱藏

蘋果應用中,編輯textfield textview時彈出來的鍵盤有時候很鬧心,不知如何隱藏。本文簡單實現了帶 隱藏 按鈕的工具欄,使用者可以隨時隱藏鍵盤。先上圖 實現 首先,定義乙個工具欄變數 ui tbhide for keyboard hiding接下來,建立並設定工具欄 create key...

iOS 鍵盤顯示與隱藏

目前我所接觸到的鍵盤處理方法有兩種,第一種是通過約束,第二種是通過transform。監聽鍵盤通知 void viewdidload void dealloc pragma mark 鍵盤處理 void keyboardwillshow nsnotification note void keyboa...