DOMのwhichプロパティ

OperaでASCIIキーボードだとkeyCodeで「→」と「'」の区別が付かない(JISだとshiftKeyで苦し紛れに区別はつく)。のでEventオブジェクトのプロパティ眺めてたらwhichプロパティを発見。
http://developer.mozilla.org/ja/docs/DOM:event

Opera 9.24

  • keydownでは常にkeyCodeと同じ値。
  • keypressでは(確認した限りでは)矢印, PageUp/Downだとゼロ、それ以外のキーだとkeyCodeと同じ値。

Safari 3.0.4

常にkeyCodeと同じ値。keydownではキーコード、keypressではASCIIコード。

Firefox 2.0.0.9

  • keydownではkeyCodeと同じ値。
  • keypressではcharCodeが出るキーはcharCodeと同じ値。keyCodeが出るキーのうちEnter, BSなどの一部のキーのみkeyCodeの値、その他はゼロ。

IE6

未定義。

矢印キーはこれでどうにかなってもDelと「.」の区別はつかない気がするんだけど、みんなどうしてるんだろう。別にDelは使わないからいいんだけど。