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 回答