1. 程式人生 > >輸入法的中文輸入狀態下 監聽中文字符的提示

輸入法的中文輸入狀態下 監聽中文字符的提示

als upd 變化 ima 實時 span () false 打開

技術分享圖片

    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結束,完美軟鍵盤解決輸入中文情況。

輸入法的中文輸入狀態下 監聽中文字符的提示