汉字和onkeypress事件

时间:2011-08-17 04:14:51

标签: javascript html javascript-events

在Windows上使用Internet Explorer我有一个onkeypress事件检测文本框中输入的文本。但是,当输入中文字符时,此事件不会触发。有没有人遇到这个或有解决这个问题的建议?

3 个答案:

答案 0 :(得分:5)

Google Suggest(自动填充)会轮询输入的更改,因为Unicode的事件完全不可靠。浏览器用于支持中间IME输入事件,这对日语非常好,但是支持很快就会破坏或被删除。

上次我检查的是2006年,所以需要重新测试。以下是我之前的笔记:

http://web.archive.org/web/20060220125639/http://fnjordy.cus.org.uk/auto/

在Firefox中包含未解决的错误:

https://bugzilla.mozilla.org/show_bug.cgi?id=286842

答案 1 :(得分:3)

根据此JSFiddlekeydown事件似乎没有像人们预期的那样触发。我会使用keyup事件(但是,你仍会获得部分输入的字符)。

从我的实验中,我得到了:

  • “ni”代替你的事件
  • 事件'你哈'
  • 你哈的一个事件(因为警报杀了我的输入以完成'hao')

基本上,Windows和IE在字符输入方面表现不佳。如果你的框架中有可能,我会建议使用change事件。

答案 2 :(得分:1)

根据键盘设置,编写单个中文字符通常需要键入多个键。例如,岂可以使用4键序列(山一口廿)编写,如下所示:http://en.wiktionary.org/wiki/%E8%B1%88

在这种情况下你需要使用onchange事件(还有韩语和日语!)