美文网首页
uniapp之解决软键盘弹出问题

uniapp之解决软键盘弹出问题

作者: 泪滴在琴上 | 来源:发表于2023-03-02 08:12 被阅读0次

    需求:当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/次)


    image.png

    <meta charset="utf-8">

    • 新问题:若单个界面(如page1)禁用软键盘,而page2需要使用输入法进行输入时,若先进入的是page2则输入法可弹出,但若进入过page1再进入page2,那么在page2输入时不会弹出软件盘。* 优化思路:在界面销毁时清除定时器,参考uni-app 中清除定时器

    作者:瑟闻风倾
    链接:https://www.jianshu.com/p/598503b1b562
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:uniapp之解决软键盘弹出问题

          本文链接:https://www.haomeiwen.com/subject/mwkdldtx.html