实时监控input输入框,获取输入的内容,去除拼音
通过查阅资料得知在输入中文(包括语音识别时)会先后触发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输入框,获取输入的内容,去除拼音相关推荐
- HTML input输入框在输入汉字时,拼音也会输入的问题
问题: 该输入框仅可输入汉字.字母.数字 原方案: <input id="inputId" onkeyup=" this.value=this.value.repl ...
- [错误]input输入框只能输入或者选中替换输入,不能删除内容
** [错误]input输入框只能输入或者选中替换输入,不能删除内容 ** 本人的解决方法 类型添加或改成 type="text"
- 同时绑定onpropertychange 和 oninput 事件,实时检测 input、textarea输入改变事件,支持低版本IE,支持复制粘贴...
实时检测 input.textarea输入改变事件,支持低版本IE,支持复制粘贴 检测input.textarea输入改变事件有以下几种: 1.onkeyup/onkeydown 捕获用户键盘输入事件 ...
- 通过TextWatcher去观察输入框中输入的内容以及输入字符个数
布局中EditText在android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输入框中输入的内容,作个笔记. 主布局: <?xm ...
- python input函数详解_Python如何使用input函数获取输入,看完你就会了
文章内容主要介绍了Python如何使用input函数获取输入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下!!! 所谓输入,就是用代码获取用户通过键 ...
- input输入框只能输入数字,只能输入字母数字组合
input输入框只能输入数字,字母数字组合,汉字等 input里需要控制输入的类型,可以通过onkeyput或oninput对输入的内容进行校验.输入大小写字母.数字.下划线:onkeyup=&quo ...
- APPium连接真机输入框中输入的内容与代码中不一致
今天解决了上一个问题,又碰到了一个新的问题. 问题:连接真机输入框中输入的内容与代码中不一致. 描述: 想实现登录页面输入用户名和密码自动登录,可是在输入用户名和密码的框中输入的内容总是与代码中的不一 ...
- 如何解决input输入框只输入数字
如何解决input输入框只输入数字 在做一些手机号.验证码登录的时候,一般都会对input框的输入进行限制,手机号只能是数字,以后有三种方式: onkeyup = "value=value. ...
- input输入框只能输入11位数字
input输入框只能输入11位数字 <input type="number" οninput="if(value.length>11)value=value. ...
- input输入框只能输入整数
input输入框只能输入整数正则表达式 οninput="value=value.replace(/[^0-9]/g,'')" 例子: <input v-model=&quo ...
最新文章
- 1102: 火车票退票费计算(函数专题)
- Apache Kafka-Spring Kafka生产消费@KafkaListener源码解析
- IE8-开发人员工具使用(一)
- python 文件不存在时才能写入,读写模式xt
- C#发现之旅第二讲 C#-XSLT开发
- 服务器绑定域名可修改吗,云服务器可以绑定域名吗
- mysql 生成xml 表头_Spring Boot + MySql + Mybatis generator 自动生成mapper/entity/xml文件
- Nature调查再聚焦读博压力:超1/3博士生焦虑抑郁,大学有没有能哭的地方?
- php 清除浮动,清除浮动的几种方法
- c51单片机矩阵键盘1602计算器_单片机做简易计算器源码(矩阵键盘输入+1602显示)...
- 直线外一点到直线的距离
- 实验吧-天网管理系统
- Javascript Yielding Processes 定时器数组分块技术
- Android 播放器之流媒体,边下边播如此简单。
- python实现简单五子棋
- 落日海鸥(Seagulls)
- SQL优化中索引列使用函数之灵异事件
- 你的磁力链为什么下不动了?(干货)
- Win10如何开启TLS1.3
- 格兰杰检验的基本步骤_格兰杰检验流程
热门文章
- (教程)微信公众号接入淘票票cps推广电影链接赚佣金
- Day77 Java框架 SSH案例_ERP(十一)_CXF框架_红日物流BOS系统_ERP物流信息管理
- 聊聊量子计算机那些事
- iozone - 性能压力测试工具
- 单片机通信接口:UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB
- android低版本so加载失败,Android 4.X 系统加载 so 失败的原因分析
- 面试宝典之深度学习面试题(下)
- PFC 3D 中存在的一个问题?
- JVM,DVM,JIT,AOT,ART理解
- 管家婆云辉煌的打印样式设置