1 回答

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
監(jiān)聽input事件就行了,你這個(gè)嵌套完全沒必要,且把代碼搞復(fù)雜了
-------------更新------------------
開始中文輸入時(shí)會(huì)觸發(fā)compositionstart事件
選詞結(jié)束后會(huì)觸發(fā)compositionend事件
類似于keydown和keyup
解決辦法,在外層設(shè)置一個(gè)狀態(tài)flag,在這兩個(gè)事件過程中flag=false,在事件完成后flag=true。
<input id="txt" type="text">
<script>
var flag = true;
$('#txt').on('compositionstart',function(){
flag = false;
})
$('#txt').on('compositionend',function(){
flag = true;
})
$('#txt').on('input',function(){
var _this = this
return setTimeout(function(){
if(flag && $(_this).val() !== ''){//判斷flag和輸入的值
return console.log($(_this).val());
}
},0)
})
</script>
添加回答
舉報(bào)