javascript阻止滚动

时间:2013-02-15 18:41:53

标签: javascript html scroll

我在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。请帮忙。谢谢!

3 个答案:

答案 0 :(得分: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();
    }

})

答案 1 :(得分: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);
}

答案 2 :(得分:0)

尝试在最后添加e.preventDefault();