uniapp解決軟鍵盤彈出問題方法詳解
需求
當input輸入框輸入聚焦時禁止系統(tǒng)軟鍵盤彈出
(1) 嘗試1
在輸入框聚焦時隱藏軟鍵盤
focus:function(){
console.log("輸入框聚焦");
// 并不能完全禁用軟鍵盤
setTimeout(function(){
uni.hideKeyboard();//隱藏軟鍵盤
// plus.key.hideSoftKeybord();
},250);
},
實際效果:
- 界面會有一個鍵盤先彈出后隱藏的切換過程,用戶體驗不好
(2) 嘗試2
在界面顯示時每隔固定時間執(zhí)行一次隱藏操作
onShow:function(){
console.log( "home-監(jiān)聽頁面顯示");
//執(zhí)行頻率:game(20ms/次)、ui(60ms/次)、normal(200ms/次)
setInterval(function(){
uni.hideKeyboard();//隱藏軟鍵盤
// plus.key.hideSoftKeybord();
},60);
},
備注
若需在整個應用中都禁用系統(tǒng)軟鍵盤,則在app.vue文件的onShow()方法中執(zhí)行以上代碼即可 ;若僅需在單個特殊頁面禁用,其他界面還需系統(tǒng)軟鍵盤進行輸入,那么僅在這個特殊界面的onShow()方法中執(zhí)行以上代碼即可。
實際效果:完美解決軟鍵盤彈出問題
拓展
回調函數(shù)的執(zhí)行頻率:game(20ms/次)、ui(60ms/次)、normal(200ms/次)
| 值 | 說明 |
|---|---|
| game | 適用于更新游戲的回調頻率,在 20ms/次 左右 |
| ui | 適用于更新 UI 的回調頻率,在 60ms/次 左右 |
| normal | 普通的回調頻率,在 200ms/次 左右 |
- 新問題:若單個界面(如page1)禁用軟鍵盤,而page2需要使用輸入法進行輸入時,若先進入的是page2則輸入法可彈出,但若進入過page1再進入page2,那么在page2輸入時不會彈出軟件盤。
- 優(yōu)化思路:在界面銷毀時清除定時器,參考uni-app 中清除定時器。
以上就是uniapp解決軟鍵盤彈出問題方法詳解的詳細內容,更多關于uniapp軟鍵盤彈出的資料請關注腳本之家其它相關文章!
相關文章
json對象轉為字符串,當做參數(shù)傳遞時加密解密的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨son對象轉為字符串,當做參數(shù)傳遞時加密解密的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
js+html5實現(xiàn)canvas繪制鏤空字體文本的方法
這篇文章主要介紹了js+html5實現(xiàn)canvas繪制鏤空字體文本的方法,涉及html5文字效果的相關技巧,需要的朋友可以參考下2015-06-06

