0

HTML5ゲームで矢印キーを使用するときにスクロールを防止しようとしています。画面上の矢印キーやボタンで操作できる迷路ゲームですが、「上」または「下」キーを押すと常にスクロールします。

document.addEventListener('keydown', function(e){
    if(e.keyCode === 40) {
        down();
    } else if(e.keyCode === 38) {
        up();
    } else if(e.keyCode === 37) {
        leftclick();
    } else if(e.keyCode === 39) {
        rightclick();
    }
})

これはjavascriptで可能ですか?マウスでスクロールできるようにしたいのですが、キーボードで矢印キーを使用する場合はスクロールできません。私のゲームはhttp://thomaswd.com/mazeにあります。助けてください。ありがとう!

4

3 に答える 3

2

e.preventDefault()通常のキーアクションが実行されないようにするために使用します。

document.addEventListener('keydown', function(e){
    if(e.keyCode === 40) {
        down();
        e.preventDefault();
    } else if(e.keyCode === 38) {
        up();
        e.preventDefault();
    } else if(e.keyCode === 37) {
        leftclick();
        e.preventDefault();
    } else if(e.keyCode === 39) {
        rightclick();
        e.preventDefault();
    }

})

于 2013-02-15T18:43:43.510 に答える
1

これを試して:

document.addEventListener('keydown', function(e) {
        if(e.keyCode > 36 && e.keyCode < 41) {
            e.preventDefault();
        }
        if (e.keyCode === 40) {
            down();
        } else if (e.keyCode === 38) {
            up();
        } else if (e.keyCode === 37) {
            leftclick();
        } else if (e.keyCode === 39) {
            rightclick();
        }
        return false;
    }, false);
}
于 2013-02-15T18:48:43.463 に答える
0

e.preventDefault();最後に追加してみてください

于 2013-02-15T18:45:03.727 に答える