輸入法的中文輸入狀態下 監聽中文字符的提示
阿新 • • 發佈:2019-03-25
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結束,完美軟鍵盤解決輸入中文情況。
輸入法的中文輸入狀態下 監聽中文字符的提示