在我的index.html中,我有这段代码。
我需要在Main.onLoad()中向该主体添加onkeydown
事件。
知道该怎么做吗?
<body id="body"
onload="Main.onLoad();"
onunload="Main.unload();"
onmousedown="Main.mouseDown();"
>
<body id="body"
onload="Main.onLoad();"
onkeydown="TVA.keyDown(event);"
onunload="Main.unload();"
onmousedown="Main.mouseDown();"
>
答案 0 :(得分:4)
在Javascript块中,尝试使用window.onkeydown
( MDN )。
您还可以使用document.onkeydown
和document.body.onkeydown
。
以下是您的示例:
document.body.onkeydown = function(e){
alert(String.fromCharCode(e.keyCode)+" --> "+e.keyCode);
};
上面的代码可以放在任何有效的JavaScript块中(例如Main.onLoad()
函数)。
答案 1 :(得分:0)
你可以像这样附加听众: 您可以传递函数或只是在代码中调用匿名函数。
document.body.addEventListener('keydown',Main.onLoad);
传递给控制台时似乎可以处理堆栈溢出。
答案 2 :(得分:0)
通常onkeydown
可以附加到可以获得焦点的元素上。在某些浏览器中,您可以专注于document.body
,但您不能依赖它。 window
是可以获得关注的元素之一。
您可以尝试将以下代码放入HTML代码的head
部分, TVA
定义后。
window.onkeydown = TVA.keyDown;
或使用addEventListener()
时:
window.addEventListener('keydown', TVA.keyDown, false);