uniapp解決軟鍵盤彈出問題方法詳解
需求
當(dāng)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);
},
備注
若需在整個應(yīng)用中都禁用系統(tǒng)軟鍵盤,則在app.vue文件的onShow()方法中執(zhí)行以上代碼即可 ;若僅需在單個特殊頁面禁用,其他界面還需系統(tǒng)軟鍵盤進(jìn)行輸入,那么僅在這個特殊界面的onShow()方法中執(zhí)行以上代碼即可。
實際效果:完美解決軟鍵盤彈出問題
拓展
回調(diào)函數(shù)的執(zhí)行頻率:game(20ms/次)、ui(60ms/次)、normal(200ms/次)
| 值 | 說明 |
|---|---|
| game | 適用于更新游戲的回調(diào)頻率,在 20ms/次 左右 |
| ui | 適用于更新 UI 的回調(diào)頻率,在 60ms/次 左右 |
| normal | 普通的回調(diào)頻率,在 200ms/次 左右 |
- 新問題:若單個界面(如page1)禁用軟鍵盤,而page2需要使用輸入法進(jìn)行輸入時,若先進(jìn)入的是page2則輸入法可彈出,但若進(jìn)入過page1再進(jìn)入page2,那么在page2輸入時不會彈出軟件盤。
- 優(yōu)化思路:在界面銷毀時清除定時器,參考uni-app 中清除定時器。
以上就是uniapp解決軟鍵盤彈出問題方法詳解的詳細(xì)內(nèi)容,更多關(guān)于uniapp軟鍵盤彈出的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
PHPMyAdmin導(dǎo)入時提示文件大小超出PHP限制的解決方法
這篇文章主要介紹了PHPMyAdmin導(dǎo)入時提示文件大小超出PHP限制的解決方法,造成這個問題的原因是PHP上傳大小限制為2MB,修改PHP.ini配置即可解決這問題,需要的朋友可以參考下2015-03-03
layer實現(xiàn)彈出層自動調(diào)節(jié)位置
今天小編就為大家分享一篇layer實現(xiàn)彈出層自動調(diào)節(jié)位置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript調(diào)用麥克風(fēng)錄音完整實現(xiàn)步驟
在JavaScript中調(diào)用手機的錄音功能是我最近遇到的一個需求,下面這篇文章主要介紹了JavaScript調(diào)用麥克風(fēng)錄音的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-10-10
JavaScript代碼實現(xiàn)txt文件的上傳預(yù)覽功能
本篇文章給大家介紹了JavaScript代碼實現(xiàn)txt文件的上傳預(yù)覽功能,文字代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-03-03
JS插件clipboard.js實現(xiàn)一鍵復(fù)制粘貼功能
這篇文章主要介紹了JS插件clipboard.js實現(xiàn)一鍵復(fù)制粘貼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08

