oninput 中文输入
使用 input 监听 input 中文输入,会被每次输入的字母打断,下面就解决这个问题
$('input')
.off()
.on('input',function(){
if($(this).prop('comStart')) return;
//输入完成后进行的操作
console.log($(this).val());
})
.on('compositionstart',function(){
$(this).prop('comStart', true);
})
.on('compositionend',function(){
$(this).prop('comStart', false);
//输入完成后进行的操作
console.log($(this).val());
})
compositionstart 是在 input 事件之前触发。
经试验,compositionend 则是在 input 事件之后触发,因此在 compositionend 事件里面也加入输入完成后需要进行的下一步操作。
学习、交流、记录、编辑一部自己的知识库

浙公网安备 33010602011771号