Использование Internet Explorer в Windows У меня есть событие onkeypress, обнаруживающее текст, введенный в текстовое поле. Однако при вводе китайских символов это событие не срабатывает. Кто-нибудь сталкивался с этим или имел предложения по работе над этим?
Китайские иероглифы и событие onkeypress
Ответ 1
Основываясь на этом JSFiddle, кажется, что событие keydown
не срабатывает, как можно было ожидать. Я бы использовал событие keyup
(хотя вы все равно получите частично введенные символы).
Из моего эксперимента я получил:
- Событие для "ni" вместо 你
- Событие "你 ha"
- Событие для 你 哈 (так как оповещение убило мой вход для завершения "hao" )
В принципе, Windows и IE не очень хорошо играют с символьным вводом. Я бы предложил использовать событие change
, если это возможно в вашей структуре.
Ответ 2
Google Suggest (автозаполнение) проверяет вход для изменений, поскольку события полностью ненадежны для Unicode. Браузеры, используемые для поддержки событий ввода в середине IME, которые были очень хороши для японцев, но поддержка быстро сломалась или была отброшена.
В прошлый раз, когда я проверял, был 2006 год, поэтому требуется повторная проверка. Вот мои предыдущие заметки:
http://web.archive.org/web/20060220125639/http://fnjordy.cus.org.uk/auto/
Включение исправления в Firefox:
Ответ 3
В зависимости от настроек клавиатуры для записи одного китайского символа обычно требуется ввести несколько клавиш. Например, 豈 можно записать с помощью 4-клавишной последовательности (山 一口 廿), как вы можете видеть здесь: http://en.wiktionary.org/wiki/%E8%B1%88
В этом случае вам нужно использовать событие onchange (а также для корейского и японского языков!)