中国語文字がテキストボックスに挿入されたときに確実に検出しようとしています。 keyup、keydown、およびkeypressハンドラを入力フィールドに追加すると、ユーザーがIME(入力メソッドエディタ)から中国語を選択したときにイベントは発生しません。たとえば、簡体字中国語pinyanを搭載したMac/Firefoxの上では、私が入力した場合:Javascript - Googleドキュメントのような中国語文字入力を検出する
niはその後、私は「N」と「1」のキーアップのためのKeyDownイベントを受け取る
1を押してください。 keypressイベントは発生しません。注:私はGWTを使用していますが、問題はないと思います。
私はGoogle docsがこれをどのようにして行うのか不思議でした。私は、中国語のために、 "docs-texteventtarget-iframe"クラスで非表示のiframeにテキストとして追加された 'n'文字を認識しました(ただし、 'i'は表示されません)。中国人のキャラクターが挿入されたことを検出するために、この作業を行っていると思います。
Googleは入力言語が中国語に変更されたことをどのように知っていますか?たとえば、入力言語が英語で、 'n'と入力すると、その非表示のiframeには追加されません。漢字キーイベントを検出するための一般的なテクニックはありますか?
変更ハンドラを追加しようとしましたか? –