我在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。请帮忙。谢谢!
答案 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();