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

原创 2016年08月31日 11:04:43

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

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

禁止中文输入

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

Firefox输入事件

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

通过keydown,keyup,keypress事件监听输入框内内容的问题

htmljavascript控制台输出文本框内容var search = document.getElementById("search"); search.onkeyup = function(){...

解决js中文输入法下keyCode总为229的问题

快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q 插入链接 Ctrl + L 插入代码 Ctrl + K 插入图片 Ctrl + ...

input文本框绑定回车键事件及火狐浏览器不支持event

参考文档: http://blog.csdn.net/cyxlzzs/article/details/6711924 input文本框绑定回车键事件, 及 火狐浏览器不支持event:      ...

输入框事件监听(一):keydown、keyup、input

当输入框的值发生变化时,我们可以通过keydown、keyup、input、onchange、blur事件观察到其值的变化,但它们的应用时机与应用场景存在显著的差异...
  • yiifaa
  • yiifaa
  • 2016年08月30日 18:44
  • 12686

输入框事件监听(五):如何感知JS设值的变化

通过change事件,输入框可以感知用户手动输入,但是如果用程序对输入框进行赋值,则会出现无法感知的情况。实践的HTML如下:实践的JS如下:var username = document.query...
  • yiifaa
  • yiifaa
  • 2016年09月28日 15:21
  • 1511

HTML 输入框input事件监听实例

监听输入框值的即时变化 onpropertychange oninput function immediately(){ var element = document.getElementBy...
  • ziyeH2
  • ziyeH2
  • 2013年06月13日 15:15
  • 3737

js监听input等表单输入框的变化事件oninput

js监听input等表单输入框的变化事件oninput,手机页面开发中使用到文本框textarea输入字符监听文本框变化计算还可以输入多少字符,如果使用onkeyup的话是无法监听到输入法输入的文本变...

输入框字符个数监听

  • 2016年10月31日 17:03
  • 1.8MB
  • 下载

js监听输入框值的即时变化onpropertychange、oninput

http://www.jb51.net/article/27684.htm 很多情况下我们都会即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感。 要...
  • wjy397
  • wjy397
  • 2016年07月02日 10:30
  • 2094
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:输入框事件监听(二):中文输入与229
举报原因:
原因补充:

(最多只允许输入30个字)