我有一个由Python生成的网页,需要启用Javascript事件处理程序。下面的代码返回一个错误:节点未定义。你知道吗
下面的问题有一个看起来很有希望的答案,但是我缺少了“node”变量赋值。我想添加一条评论,但系统不允许我这样做。上面说我需要50的声望才能加评论。你知道吗
Detecting arrow key presses in JavaScript
<BODY>
<script type="text/javascript">
node.addEventListener("keydown", function(event) {
const key = event.key; // "ArrowRight", "ArrowLeft", "ArrowUp", or "ArrowDown"
});
switch (event.key) {
case "ArrowLeft":
// Left pressed
alert( "Left Arrow" );
break;
case "ArrowRight":
// Right pressed
alert( "Right Arrow" );
break;
case "ArrowUp":
// Up pressed
alert( "Up Arrow" );
break;
case "ArrowDown":
// Down pressed
alert( "Down Arrow" );
break;
}
</script>
假设您想在整个页面上侦听keydown事件,您可以用JS中已经定义的
document
替换node
。您还需要在事件侦听器的回调函数中移动switch语句,如下所示:document.addEventListener("keydown", function(event) { event.preventDefault(); // prevent page from scrolling const key = event.key; // "ArrowRight", "ArrowLeft", "ArrowUp", or "ArrowDown" switch (key) { // change to event.key to key to use the above variable case "ArrowLeft": // Left pressed alert("Left Arrow"); break; case "ArrowRight": // Right pressed alert("Right Arrow"); break; case "ArrowUp": // Up pressed alert("Up Arrow"); break; case "ArrowDown": // Down pressed alert("Down Arrow"); break; } });
; ^{pr2}$ ; ^{pr3}$ ;解释:
本质上
document
表示整个页面。您可以向文档(即页面)中添加事件侦听器,以便在发生某些事情时执行函数。在我们的代码中,我们添加了一个keydown
事件监听器,这意味着我们希望在按下某个键时执行一些代码。将要运行的代码是function(event) {...}
中的代码。当一个事件发生时,我们可以从传递给触发函数的event
参数中获得该事件的具体细节。我们可以从传递到函数中的event
对象获得许多细节,其中一个就是被按下的key
。在我们的代码中,我们使用evet.key
按下键,然后将其存储在名为key
的变量中。然后,我们使用switch
语句检查按下了哪个键,如果出现了特定的键,则执行相关代码。你知道吗相关问题 更多 >
编程相关推荐