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>
添加回答
举报