汉字和onkeypress事件

Chinese characters and the onkeypress event

本文关键字:事件 onkeypress 汉字      更新时间:2023-09-26

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

Google Suggest(自动完成)轮询输入的更改,因为事件对于Unicode是完全不可靠的。浏览器过去支持中期输入事件,这对日语来说非常好,但支持很快就中断或被取消了。

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

http://web.archive.org/web/20060220125639/http://fnjordy.cus.org.uk/汽车/

包含Firefox中未解决的错误:

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

根据这个JSFiddle, keydown事件似乎没有像人们期望的那样触发。我将使用keyup事件(尽管,您仍然会得到部分输入的字符)。

从我的实验,我得到:

  • 用"ni"代替"的事件
  • 事件"ha"
  • 一个事件:"嗬!"(因为警报阻止了我输入"嗬")

基本上,Windows和IE不能很好地处理字符输入。如果在您的框架中可能的话,我建议使用change事件。

根据键盘设置,输入一个汉字通常需要键入几个键。例如,可以使用4键序列()来编写,如下所示:http://en.wiktionary.org/wiki/%E8%B1%88

在这种情况下,您需要使用onchange事件(韩文和日文也是如此!)