nput框在输入切换中文输入法时的输入事件
1、compositionstart
compositionstart事件只有在输入中文时才会触发,触发事件在input事件之前


input输入框在输入中文时的compositionstart和compositionend事件input输入框在输入中文时的compositionstart和compositionend事件

2、compositionend
compositionend表示结束中文输入时触发的事件,不管最后输入的是不是中文都会触发


input输入框在输入中文时的compositionstart和compositionend事件

3、input
input事件就是最后输入到输入框的事件
4、如何应用这些事件
利用这些事件,可以在输入中文的时候,保证在输入完毕之后才执行input事件的代码,不用每输入一个字符就执行一次input事件的代码了,如下图
input输入框在输入中文时的compositionstart和compositionend事件

下面是我的代码,做一下参考:

<!doctype html>
<html>

    <head>
        <meta charset="utf-8">
        <title>input功能</title>
        <script src="js/jquery-3.4.1.min.js"></script>
    </head>

    <body>
        <input />
        <script>
            $(() => {
                let typing = false;
                //  输入中文之前
                $('#ahri').on('compositionstart',function(event) {
                    console.log('compositionstart');
                    typing = true;
                })
                //  输入中文之后
                $('#ahri').on('compositionend',function(event) {
                    console.log('compositionend');
                    typing = false;
                    input(event);
                })
                // 真正输入文字
                $('#ahri').on('input',input)
                function input(event) {
                    //    正在输入中文时就不执行后面的代码
                    if(typing) return;
                    console.log(event.target.value);
                }
            })
        </script>
    </body>

</html>

 

版权声明:本文为CSDN博主「昔别一展鲲鹏意」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nosuchobjecterror/article/details/93193229

相关文章:

  • 2021-11-29
  • 2021-09-17
  • 2021-12-09
  • 2021-09-17
  • 2021-09-17
  • 2021-09-17
  • 2021-05-05
猜你喜欢
  • 2021-09-17
  • 2021-10-22
  • 2021-09-17
  • 2021-09-17
  • 2021-09-17
  • 2021-09-17
  • 2021-09-27
  • 2021-09-17
相关资源
相似解决方案