如何在画布游戏中使用javascript onkeydown事件后阻止facebook滚动条移动?
我用HTML5画布元素,facebook的Javascript制作了一个游戏。你可以在这里参观。我面临的问题是,当我按下向下箭头键(用于移动使用Javascript onkeydown事件实现的蛇)时,游戏正常工作,但滚动条会上下移动。我试着制作一个文本框(activ)并设置焦点。它起作用了,但当我试图让它隐形时,它失败了如何在画布游戏中使用javascript onkeydown事件后阻止facebook滚动条移动?,javascript,facebook,html,canvas,Javascript,Facebook,Html,Canvas,我用HTML5画布元素,facebook的Javascript制作了一个游戏。你可以在这里参观。我面临的问题是,当我按下向下箭头键(用于移动使用Javascript onkeydown事件实现的蛇)时,游戏正常工作,但滚动条会上下移动。我试着制作一个文本框(activ)并设置焦点。它起作用了,但当我试图让它隐形时,它失败了 document.onkeydown = function(event) { document.getElementById('activ').focus()
document.onkeydown = function(event) {
document.getElementById('activ').focus()
if (!allowPressKeys) {
return null;
}
var keyCode;
if(event == null) {
keyCode = window.event.keyCode;
} else {
keyCode = event.keyCode;
}
switch(keyCode) {
case 37:
if (direction != "right") {
moveLeft();
}
break;
case 38:
if (direction != "down") {
moveUp();
}
break;
case 39:
if (direction != "left") {
moveRight();
}
break;
case 40:
if (direction != "up") {
moveDown();
}
break;
default:
break;
}
}
在
document.onkeydown
函数的末尾(在snake.js
的第197行之后),添加
这将阻止浏览器响应事件,而不仅仅是执行您的功能
您可能还需要替换返回null代码>在第161行中,使用这三行
在document.onkeydown
函数的末尾(在snake.js
的第197行之后),添加
这将阻止浏览器响应事件,而不仅仅是执行您的功能
您可能还需要替换返回null代码>在第161行中,使用这三行
if (event.preventDefault) { event.preventDefault(); }
if (event.stopPropagation) { event.stopPropagation(); }
return false;