输入法的中文输入状态下 监听中文字符的提示

本文介绍了一种使用JavaScript处理中文输入的方法,通过监听compositionstart和compositionend事件来实现软键盘输入中文时的平滑体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    var cpLock = true;
    $('.yx_search_inptfn').on({
        compositionstart: function () {//中文输入开始
            cpLock = false;
        },
        compositionupdate:function(){
        },
        compositionend: function () {//中文输入结束
            cpLock = true;
        },
        input: function () {//input框中的值发生变化
            setTimeout(function(){
                if (cpLock){
                    var thisval=$('.yx_search_inptfn').val();
                    thisval=thisval.replace(/^\s*/,'');
                    thisval=thisval.replace(/\s*$/,'');
                    $('.yx_search_inptfn').val(thisval);
                    if(thisval!=''){
                        $('.yx_search_btnfn2').html('搜索');
                    }else{
                        $('.yx_search_btnfn2').html('取消');
                    }
                }
            },1)
        }
    })

 

 

 输入中文的时候 会先出现compositionstart,开关会先关掉,关闭掉了input的实时监听。

当输入中文,选择了要输入的中文情况后,compositionend触发,再出发input事件。但是这时候input还是false状态监听不了,要加settimeout,延迟1毫秒,先触发8 再触发7,先compositionend,把开关打开,在触发input结束,完美软键盘解决输入中文情况。

转载于:https://www.cnblogs.com/gaidalou/p/10593667.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值