2013-04-16 3 views
2
$(document).ready(function() { 
    $("#id").keydown(function() { 

    }); 
}) 

Этот код отлично работает для всего (номер, алфавит, символ и т. Д.), За исключением японского текста. При нажатии клавиши оно не проходит через это событие. Кто-нибудь знает какое-либо решение?Keypress event для японского текста

+1

Что вы подразумеваете под «японским текстом»? Японская раскладка клавиатуры/метод ввода? –

+0

Решение состоит в том, чтобы написать собственный IME на веб-странице с помощью JavaScript. Это будет нелегко, но на самом деле это очень удобно. – Pacerier

+0

@SethJeremiMalaki yes – sujal

ответ

3

Вряд ли что-либо вы можете сделать. «Японский текст» означает IME, который является частью программного обеспечения, перехватывающего ввод с клавиатуры и помогающий превратить его в японский текст. Как это программное обеспечение взаимодействует или не взаимодействует с браузером, а механизм Javascript браузера зависит от ОС, IME, браузера и механизма Javascript браузера. На некоторых платформах нажатие клавиши сигнализируется, в других - нет. Вы можете попробовать привязать к другим событиям, таким как keyup или keypress, некоторые могут сигнализироваться даже при использовании IME.

Лучшее, что вы можете сделать, это убедиться, что вы не зависите от событий нажатия клавиш и имеете варианты возврата, если вы не можете их перехватить; например привязать к change событиям в текстовом поле, а также обработать целые изменения текста, которые будет вызывать в конце ввода IME.

+0

, что означает, что нельзя использовать ключевое слово вверх или вниз для японского текста? – sujal

+0

@sujal Невозможно * гарантировать * вы можете использовать его, да. – deceze

+0

@sujal, вы всегда можете создать свой собственный IME * на * веб-странице, если вы ** действительно нуждаетесь в ней. JavaScript в эти дни способен это сделать. – Pacerier

Смежные вопросы