prototype.jsでkeyCodeを取得

キーボードの何を入力したかを取得するやつ。prototype.jsだと

Event.observe(
window.document,
'keydown',
function(e) {
alert(e.keyCode);
},
false
);

な感じで、通常だと

window.document.onkeydown = function(e) {
try {
e.keyCode;
} catch(ex) {
e = event;  // for IE
}
alert(e.keyCode);
}

な感じ。ブラウザ互換のところが何かカッコ悪いけど。
prototype.jsの方のwindow.documentは例えばで、割り当てたいElementを渡すようにする。
因みに、Firefoxだとkeydownは各キーボードのkeyCodeがとれるけど、keypressだとEnterとかBackSpaceとか特定のキーしかとれない。その他は0になってしまう。なんでだろ。
あと、IEFirefoxの違いで気をつける点はイベント(event)の取得についてに書いてあるスコープの違いかな。

コメントする

メールアドレスが公開されることはありません。