通过查阅资料得知在输入中文(包括语音识别时)会先后触发compositionstart、compositionend事件,类似于keydown和keyup的组合。

触发compositionstart时,文本框会填入 “虚拟文本”(待确认文本),同时触发input事件;在触发compositionend时,就是填入实际内容后(已确认文本)。

先看看 compositionstart 的描述 和 compositionend 的 描述

compositionstart 事件触发于一段文字的输入之前(类似于 keydown 事件,但是该事件仅在若干可见字符的输入之前,而这些可见字符的输入可能需要一连串的键盘操作、语音识别或者点击输入法的备选词)。

compositionend  当文本段落的组织已经完成或取消时,会触发该事件。

解决办法:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <script src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
        <title></title>
    </head>
    <body>
    <input id="txt" type="text">
    <script>
        var flag = true;
        $('#txt').on('compositionstart',function(){
            flag = false;
        })
        $('#txt').on('compositionend',function(){
            flag = true;
        })
        $('#txt').on('input',function(){
            var _this = this;
            setTimeout(function(){

if(flag){//TODO:添加事件

console.log($(_this).val());

}
            },0)
        })
    </script>
    </body>

</html>

tips:
  为什么使用延时器?
  因为选词结束的时候input会比compositionend先一步触发,此时flag还未调整为true,所以不能触发到console,故用setTimeout将其优先级滞后。

转载:https://www.cnblogs.com/lonhon/p/7643095.html

实时监控input输入框,获取输入的内容,去除拼音相关推荐

  1. HTML input输入框在输入汉字时,拼音也会输入的问题

    问题: 该输入框仅可输入汉字.字母.数字 原方案: <input id="inputId" onkeyup=" this.value=this.value.repl ...

  2. [错误]input输入框只能输入或者选中替换输入,不能删除内容

    ** [错误]input输入框只能输入或者选中替换输入,不能删除内容 ** 本人的解决方法 类型添加或改成 type="text"

  3. 同时绑定onpropertychange 和 oninput 事件,实时检测 input、textarea输入改变事件,支持低版本IE,支持复制粘贴...

    实时检测 input.textarea输入改变事件,支持低版本IE,支持复制粘贴 检测input.textarea输入改变事件有以下几种: 1.onkeyup/onkeydown 捕获用户键盘输入事件 ...

  4. 通过TextWatcher去观察输入框中输入的内容以及输入字符个数

    布局中EditText在android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输入框中输入的内容,作个笔记. 主布局: <?xm ...

  5. python input函数详解_Python如何使用input函数获取输入,看完你就会了

    文章内容主要介绍了Python如何使用input函数获取输入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下!!! 所谓输入,就是用代码获取用户通过键 ...

  6. input输入框只能输入数字,只能输入字母数字组合

    input输入框只能输入数字,字母数字组合,汉字等 input里需要控制输入的类型,可以通过onkeyput或oninput对输入的内容进行校验.输入大小写字母.数字.下划线:onkeyup=&quo ...

  7. APPium连接真机输入框中输入的内容与代码中不一致

    今天解决了上一个问题,又碰到了一个新的问题. 问题:连接真机输入框中输入的内容与代码中不一致. 描述: 想实现登录页面输入用户名和密码自动登录,可是在输入用户名和密码的框中输入的内容总是与代码中的不一 ...

  8. 如何解决input输入框只输入数字

    如何解决input输入框只输入数字 在做一些手机号.验证码登录的时候,一般都会对input框的输入进行限制,手机号只能是数字,以后有三种方式: onkeyup = "value=value. ...

  9. input输入框只能输入11位数字

    input输入框只能输入11位数字 <input type="number" οninput="if(value.length>11)value=value. ...

  10. input输入框只能输入整数

    input输入框只能输入整数正则表达式 οninput="value=value.replace(/[^0-9]/g,'')" 例子: <input v-model=&quo ...

最新文章

  1. 1102: 火车票退票费计算(函数专题)
  2. Apache Kafka-Spring Kafka生产消费@KafkaListener源码解析
  3. IE8-开发人员工具使用(一)
  4. python 文件不存在时才能写入,读写模式xt
  5. C#发现之旅第二讲 C#-XSLT开发
  6. 服务器绑定域名可修改吗,云服务器可以绑定域名吗
  7. mysql 生成xml 表头_Spring Boot + MySql + Mybatis generator 自动生成mapper/entity/xml文件
  8. Nature调查再聚焦读博压力:超1/3博士生焦虑抑郁,大学有没有能哭的地方?
  9. php 清除浮动,清除浮动的几种方法
  10. c51单片机矩阵键盘1602计算器_单片机做简易计算器源码(矩阵键盘输入+1602显示)...
  11. 直线外一点到直线的距离
  12. 实验吧-天网管理系统
  13. Javascript Yielding Processes 定时器数组分块技术
  14. Android 播放器之流媒体,边下边播如此简单。
  15. python实现简单五子棋
  16. 落日海鸥(Seagulls)
  17. SQL优化中索引列使用函数之灵异事件
  18. 你的磁力链为什么下不动了?(干货)
  19. Win10如何开启TLS1.3
  20. 格兰杰检验的基本步骤_格兰杰检验流程

热门文章

  1. (教程)微信公众号接入淘票票cps推广电影链接赚佣金
  2. Day77 Java框架 SSH案例_ERP(十一)_CXF框架_红日物流BOS系统_ERP物流信息管理
  3. 聊聊量子计算机那些事
  4. iozone - 性能压力测试工具
  5. 单片机通信接口:UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB
  6. android低版本so加载失败,Android 4.X 系统加载 so 失败的原因分析
  7. 面试宝典之深度学习面试题(下)
  8. PFC 3D 中存在的一个问题?
  9. JVM,DVM,JIT,AOT,ART理解
  10. 管家婆云辉煌的打印样式设置