JS/jQuery で矢印キーをバインドする 質問する

JS/jQuery で矢印キーをバインドする 質問する

Javascript や jQuery で関数を左矢印キーと右矢印キーにバインドするにはどうすればよいでしょうか? jQuery の js-hotkey プラグイン (組み込みの bind 関数をラップして、特定のキーを認識するための引数を追加する) を調べましたが、矢印キーをサポートしていないようです。

ベストアンサー1

document.onkeydown = function(e) {
    switch(e.which) {
        case 37: // left
        break;

        case 38: // up
        break;

        case 39: // right
        break;

        case 40: // down
        break;

        default: return; // exit this handler for other keys
    }
    e.preventDefault(); // prevent the default action (scroll / move caret)
};

IE8 をサポートする必要がある場合は、関数本体を として開始しますe = e || window.event; switch(e.which || e.keyCode) {


(2020年編集)現在
KeyboardEvent.which非推奨です。この例ではKeyboardEvent.key矢印キーを検出するためのより現代的なソリューション。

おすすめ記事