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

针对中文输入法要灵活使用 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>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,752评论 1 11
  • “婆媳关系”是个由来已久、中外皆有的问题,百度一下就会发现有约两千多万条的搜索结果。可见婆媳问题是困扰了多少人?而...
    无花岛主夫人阅读 904评论 8 7
  • 1、使用nc命令可以在服务器间chat ,以及文件传输。 2、bashrc可以自动设置环境变量。 3、presto...
    __李大猫__阅读 295评论 0 0
  • 前天搬了小家 屋前绿荫浓郁 像儿时的老屋 门前绿树上的鸟儿 叽叽喳喳叫个不停 / 一个人行走 一个人回家 一个人挤...
    我脑袋单细胞阅读 193评论 0 0
  • 文/小麦 这是一篇临时冒出的另一个主题的日更,临时起意的换主题,无非还是想要随波逐流谈谈情说说爱,毕竟是情人节嘛。...
    赖小麦阅读 490评论 1 2

友情链接更多精彩内容