1 回答

TA貢獻1942條經驗 獲得超3個贊
監聽input事件就行了,你這個嵌套完全沒必要,且把代碼搞復雜了
-------------更新------------------
開始中文輸入時會觸發compositionstart事件
選詞結束后會觸發compositionend事件
類似于keydown和keyup
解決辦法,在外層設置一個狀態flag,在這兩個事件過程中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>
添加回答
舉報