美文网首页
中文输入法下的input、compositionstart与co

中文输入法下的input、compositionstart与co

作者: 洛桃桃 | 来源:发表于2018-10-02 18:12 被阅读0次

实现中文输入法下,仅在选词后触发input事件。

描述

在使用oninput监控输入框内容变化时,我们期望仅在value值变化时,才触发oninput事件,而在中文输入下,未选词时的按键也会触发oninput事件。
input事件触发效果

关键

  • compositionstart事件
  • compositionend事件

方法

使用一个变量表示拼写状态,在oninput事件中判断是否在拼写状态,当拼写状态结束,继续执行下一步操作。

var typing = false;
$('#ipt').on('compositionstart',function(){
    typing = true;
})
$('#ipt').on('compositionend',function(){
    typing = false;
})
//oninput在oncompositionend之前执行,需加定时器
$('#ipt').on('input',function(){
    setTimeout(function() {
        if(!typing) {
            //To do something...
        }
    },0);
})

//或用keyup代替input
$('#ipt').on('input',function(){
    if(!typing) {
        //To do something...
    }
})

效果

效果图

相关文章

网友评论

      本文标题:中文输入法下的input、compositionstart与co

      本文链接:https://www.haomeiwen.com/subject/hmdaoftx.html