KeyPressEventのgetCharCodeメソッド
かなり前から気付いていたのですが、私のホームページ(http://www001.upp.so-net.ne.jp/yshibata/)の右上隅に表示されているデジタル時計のプロパティ(時計をクリックすると表示されます)で、「Font Size」が正しく変更できないブラウザーがありました。たとえば、Firefoxでは数字を入力後にDeleteキーを押しても削除されないという不具合です。
調査した結果、GWTの
GWTのIssuesを調べてみたら、登録されていました。
Issue 3753: KeyPressEvent contains improper UTF codes
とりあえず、
調査した結果、GWTの
KeyPressEvent
のgetCharCodet
メソッドを呼び出した時に、正しいKeyCodeが返されないことが原因でした。以前は、正しく返されていたのですが、最新のGWTでリコンパイルした結果、動作が変わっていたようです。GWTのIssuesを調べてみたら、登録されていました。
Issue 3753: KeyPressEvent contains improper UTF codes
とりあえず、
KeyPressEvent
のgetCharCode()
メソッドとgetNativeEvent().getKeyCode()
により、charCodeとkeyCodeを別々に取り出して処理するように変更することで、ホームページの不具合を修正しました。
この記事へのコメント