文章詳情頁
uniapp解決軟鍵盤彈出問題方法詳解
瀏覽:2日期:2022-06-13 13:40:53
目錄需求(1) 嘗試1(2) 嘗試2備注拓展需求
當input輸入框輸入聚焦時禁止系統軟鍵盤彈出
(1) 嘗試1在輸入框聚焦時隱藏軟鍵盤
focus:function(){ console.log('輸入框聚焦'); // 并不能完全禁用軟鍵盤 setTimeout(function(){uni.hideKeyboard();//隱藏軟鍵盤// plus.key.hideSoftKeybord(); },250);},實際效果:
界面會有一個鍵盤先彈出后隱藏的切換過程,用戶體驗不好(2) 嘗試2在界面顯示時每隔固定時間執行一次隱藏操作
onShow:function(){ console.log( 'home-監聽頁面顯示'); //執行頻率:game(20ms/次)、ui(60ms/次)、normal(200ms/次) setInterval(function(){uni.hideKeyboard();//隱藏軟鍵盤// plus.key.hideSoftKeybord(); },60); },備注若需在整個應用中都禁用系統軟鍵盤,則在app.vue文件的onShow()方法中執行以上代碼即可 ;若僅需在單個特殊頁面禁用,其他界面還需系統軟鍵盤進行輸入,那么僅在這個特殊界面的onShow()方法中執行以上代碼即可。
實際效果:完美解決軟鍵盤彈出問題
拓展回調函數的執行頻率:game(20ms/次)、ui(60ms/次)、normal(200ms/次)
值說明game適用于更新游戲的回調頻率,在 20ms/次 左右ui適用于更新 UI 的回調頻率,在 60ms/次 左右normal普通的回調頻率,在 200ms/次 左右新問題:若單個界面(如page1)禁用軟鍵盤,而page2需要使用輸入法進行輸入時,若先進入的是page2則輸入法可彈出,但若進入過page1再進入page2,那么在page2輸入時不會彈出軟件盤。優化思路:在界面銷毀時清除定時器,參考uni-app 中清除定時器。以上就是uniapp解決軟鍵盤彈出問題方法詳解的詳細內容,更多關于uniapp軟鍵盤彈出的資料請關注好吧啦網其它相關文章!
標簽:
JavaScript
排行榜