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