- 需求:当input输入框输入聚焦时禁止系统软键盘弹出
- 尝试1:在输入框聚焦时隐藏软键盘
focus:function(){
console.log("输入框聚焦");
// 并不能完全禁用软键盘
setTimeout(function(){
uni.hideKeyboard();//隐藏软键盘
// plus.key.hideSoftKeybord();
},250);
},
- 实际效果:界面会有一个键盘先弹出后隐藏的切换过程,用户体验不好
- 尝试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/次 左右 |
网友评论