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 事件里面也加入输入完成后需要进行的下一步操作。

posted @ 2017-05-18 11:24  z春眠不觉晓z  阅读(884)  评论(0编辑  收藏  举报