Javascript 是否要在浏览器窗口处于活动状态时,每次按下一个键时向下读取一个键事件并打印该键?

Javascript 是否要在浏览器窗口处于活动状态时,每次按下一个键时向下读取一个键事件并打印该键?,javascript,html,Javascript,Html,我想编写一个简单的JavaScript函数,它将显示我每次按键时按下的everykey的名称。我将尝试创建一个类似于旧蜈蚣游戏的游戏,但我需要能够在每次钥匙按下时扫描钥匙 问题:我需要如何更改此代码,使其在按键关闭事件请求中扫描并写出按键名称? HTML代码: <body onload="docReady()" onkeydown="checkForNewKey()" onkeyup="" bgcolor='black'> <canvas id="myCanvas" widt

我想编写一个简单的JavaScript函数,它将显示我每次按键时按下的everykey的名称。我将尝试创建一个类似于旧蜈蚣游戏的游戏,但我需要能够在每次钥匙按下时扫描钥匙

问题:我需要如何更改此代码,使其在按键关闭事件请求中扫描并写出按键名称?

HTML代码:

<body onload="docReady()" onkeydown="checkForNewKey()" onkeyup="" bgcolor='black'>

<canvas id="myCanvas" width="450" height="600" style="border:1px solid #00FFFF;">
    Your browser does not support the HTML5 canvas tag.
</canvas>

您的浏览器不支持HTML5画布标记。
代码:

函数checkForNewKey(){
var c=document.getElementById(“myCanvas”);

var ctx=c.getContext(“2d”);您应该使用keypress事件。不确定写入画布的最终目标是什么,但请查看以下内容以了解更多信息:

对于书信写作而言,这是有效的:

JSFiddle

HTML


好吧,我想看看如何用java脚本制作一个蜈蚣游戏。我认为在画布上写东西可以让它保持在同一个对象中。有什么更好的选择?
function checkForNewKey(){
    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");  <-- Exactly why does this need to be here and what does it do?

    ctx.font="30px Arial";
    var temp = evt.keyCode;
     ctx.fillText(temp,20,50);
 }
document.onkeypress = function (e) {
   var evt = evt || window.event;
   var charCode = typeof evt.which == "number" ? evt.which : evt.keyCode;
   console.log(charCode, String.fromCharCode(charCode));

   var c=document.getElementById("myCanvas");
   var ctx=c.getContext("2d");  
   ctx.font="30px Arial";
   ctx.clearRect(0,0,100,100);
   ctx.fillText(String.fromCharCode(charCode),20,50);

   return true; // proceed as usual
};
<canvas id="myCanvas" style="width:100px;;height:100px;background-color:red;"></canvas>