Китайские иероглифы и событие onkeypress - PullRequest
12 голосов
/ 17 августа 2011

Использование Internet Explorer в Windows У меня есть событие onkeypress, обнаруживающее текст, введенный в текстовое поле. Однако при вводе китайских символов это событие не срабатывает. Кто-нибудь сталкивался с этим или есть предложения по поводу этого?

Ответы [ 3 ]

5 голосов
/ 17 августа 2011

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

3 голосов
/ 17 августа 2011

Исходя из этого JSFiddle , кажется, что событие keydown не срабатывает, как можно было ожидать.Я бы использовал событие keyup (хотя вы все равно получите частично введенные символы).

Из моего эксперимента я получил:

  • Событие для "ni" вместоиз
  • Событие '你 ha'
  • Событие для 你 哈 (так как предупреждение убило мой ввод для завершения 'hao')

В основном, Windowsи IE плохо играют с вводом символов.Я бы предложил использовать событие change, если это возможно в вашей среде.

1 голос
/ 29 сентября 2014

В зависимости от настроек клавиатуры, написание одного китайского символа обычно требует ввода нескольких клавиш.Например, 豈 можно записать с использованием последовательности из 4 клавиш (山 一口 廿), как вы можете видеть здесь: http://en.wiktionary.org/wiki/%E8%B1%88

В этом случае вам необходимо использовать событие onchange (а также для корейского ияпонский!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...