keypressでのkeyCode & charCode

Firefoxはkey pressイベントでkeyCodeを取得できない。0 が返ってくる。(Windows版だと大丈夫か?後で確認。)
Operaはkey pressイベントでcharCodeを取得できない。undefined が返ってくる


問題を解決するためには,

element.onkeypress = function(e) {
    var keycode = e.keyCode || e.charCode;
    // 処理
}

とすればよいかな。


テストページ


このページでKonquerorでテストしたら,keyCode, charCodeともに取得できるもののkeypressのイベント発生のタイミングがおかしい。しばらく押したままにしないと発生しない…。


試した環境は, Opera(Linux), Firefox(Linux), Konqueror。あとでWindows環境も調べる。

参考

http://qooxdoo.org/documentation/user_manual/keyboard_events
その他,キーイベント処理のブラウザごとの問題がかいてある。
Operaがもっともひどいとかかれてある。キーボードでのスマートなブラウジング実現の犠牲だろうか。

追記 1/26 1:12

Windowsでも試した。
FirefoxLinux版と同じ…。
IEはキーイベントを取得できず…。またの機会に。クロスブラウザスクリプティングって大変だな…。