keydown、keypressイベントのブラウザ毎の挙動の違い

こないだMac OS XFirefoxで日本語入力ソフト使用時にEnterキーによる変換確定をkeydownイベントで拾ってしまう現象にヤラレたので、その問題を対処するにあたって他のブラウザでの動作を再確認しました。
その時の結果を、、イベントの発生有無とkeyCodeについて表にまとめてみました。数字はkeyCodeの値で、"-"になっているのはイベント自体が発生しなかったという意味になります。

みごと、同じ挙動なのが1つも無いといった結果になりましたが、実際、よく問題になるのは下記の2点だと思います。

  • Mac OS X Safari 2.0.4 にて、カーソルキー(Up/Down/Left/Right)は1回押しただけで2度同じイベントが発生する。Safari 3.0で直っているという記事を見かけたが、実際に試せてません。
  • Mac OS X Firefox 2.0 にて、日本語入力ソフト使用時も押下したキーに応じたkeydownイベントが発生する。(Enterを拾う際に特に注意)

上記表には書いて無いのですが、他にもいくつか気をつけたほうが良いところを、、


ちなみに、keydownやkeypressなどのブラウザ毎の挙動を調べるときには、下記のページをいつも使ってます。自分でいうのもなんですが、、かなり重宝しています。