美文网首页
js 中英文混合输入时处理技巧

js 中英文混合输入时处理技巧

作者: Xinxing_Li | 来源:发表于2018-07-01 21:40 被阅读0次

    针对中文输入法要灵活使用 DOM3级事件 compositionstartcompositionend
    下面以把输入框内的英文转化为大写为例

    <body>
    <input id="ii" type="text">
    </body>
    

    如果是普通的使用 keyup 事件, 在中英文混合输入的时候会得到奇怪的结果,
    可选的做法 : 混合使用这两个 DOM3 级事件以及 keyup 事件

    //字母转大写
    <script>
    var input_state = 1;
        document.getElementById("ii").addEventListener("compositionend", function(e){
            this.value = this.value.toUpperCase();
            input_state =1;
        })
        document.getElementById("ii").addEventListener("compositionstart", function(e){
            input_state =0;
        })
        document.getElementById("ii").addEventListener("keyup", function(e){
            if(input_state==1)this.value = this.value.toUpperCase();
        })
    </script>
    

    相关文章

      网友评论

          本文标题:js 中英文混合输入时处理技巧

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