输入框事件监听(二):中文输入与229

继续之前的例子,我们在文本框中输入“中文”两个汉字,并且每个汉字都确认一次,最后事件监听的输出结果如下图所示。
输入框与229

从这张图中我们发现如下问题:
1. 在中文输入法下,keydown监听到的键值都是229,完全没有参考意义,所以为了准确地监听键盘事件,最好监听keyup事件。
2. 如果输入的速度较快,keyup事件可能不会及时触发,但一定会触发,所以会出现keyup事件连续触发的情形,也可能会产生错误,例如本例中多报了一次“zh”,少报了一次“z”。
3. 在确认中文输入时,会产生额外的键值,例如本例中是32(我是用空格键进行确认的)。

禁止中文输入

通过在style中设置“ime-mode:disabled;”可以禁止输入法切换,但chrome却不支持,IE与Firefox都能完美支持。

Firefox输入事件

在firefox环境下,快速输入中文,大部分的keyup事件都不会触发,看清楚,是不会触发,并且键值彻底消失了,这点让我很奇怪,见下图。
Firefox输入事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值