有人能告诉我发生了什么事吗?我的控制台没有任何例外。
function onKeyDown(){
var e = event.keyCode;
//if (e==87 /*w*/){
up = true;
throw('up');
//}
if (e==65 /*a*/){
left = true;
}
if (e==83 /*s*/){
down = true;
}
if (e==68 /*d*/){
right = true;
}
}
function onKeyUp(){
var e = event.keyCode;
//if (e==87 /*w*/){
up = false;
throw('up');
//}
if (e==65 /*a*/){
left = false;
}
if (e==83 /*s*/){
down = false;
}
if (e==68 /*d*/){
right = false;
}
}
Okay, so that was the javascript, and this is the html:
<body>
<input id="ss" type="button" value="start/stop" />
<div id="container" style="border:1px solid; cursor:none; width:480px; height:320px;">
<canvas id="canvas" width="480" height="320" onkeyup="onKeyUp();" onkeydown="onKeydown();">
Canvas not displaying.
</canvas>
</div>
</body>
Edit: current code:
window.onload = function(){ 在里面(); };
function init(){
initSettings();
initImages();
document.getElementById('canvas').onkeydown = function(event) {
var e = event.keyCode;
//if (e==87 /*w*/){
up = true;
throw('up');
//}
if (e==65 /*a*/){
left = true;
}
if (e==83 /*s*/){
down = true;
}
if (e==68 /*d*/){
right = true;
}
}
答案 0 :(得分:16)
你应该这样做:
document.onkeydown = function(event) {
...
}
document.onkeyup = function(event) {
...
}
摆脱:
onkeyup="onKeyUp();" onkeydown="onKeydown();"
我制作的快速测试页面有效:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
document.onkeydown = function(event) {
event = event || window.event;
var e = event.keyCode;
//if (e==87 /*w*/){
up = true;
throw('up');
//}
if (e==65 /*a*/){
left = true;
}
if (e==83 /*s*/){
down = true;
}
if (e==68 /*d*/){
right = true;
}
}
document.onkeyup=function(event) {
event = event || window.event;
var e = event.keyCode;
//if (e==87 /*w*/){
up = false;
throw('up');
//}
if (e==65 /*a*/){
left = false;
}
if (e==83 /*s*/){
down = false;
}
if (e==68 /*d*/){
right = false;
}
}
</script>
</head>
<body>
<input id="ss" type="button" value="start/stop" />
<div id="container" style="border:1px solid; cursor:none; width:480px; height:320px;">
<canvas id="canvas" width="480" height="320">
Canvas not displaying.
</canvas>
</div>
</body>
</html>