Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python网页中的Javascript事件处理程序不工作_Javascript_Python_Event Handling - Fatal编程技术网

Python网页中的Javascript事件处理程序不工作

Python网页中的Javascript事件处理程序不工作,javascript,python,event-handling,Javascript,Python,Event Handling,我有一个由Python生成的网页,需要启用Javascript事件处理程序。下面的代码返回一个错误:未定义节点 下面的问题有一个看起来很有希望的答案,但我缺少“node”变量赋值。我想添加一条评论,但系统不允许我这样做。它说我需要50的声誉来添加评论 node.addEventListener(“向下键”),函数(事件){ const key=event.key;/“ArrowRight”、“ArrowLeft”、“ArrowUp”或“ArrowDown” }); 开关(事件键){ 案例“箭

我有一个由Python生成的网页,需要启用Javascript事件处理程序。下面的代码返回一个错误:未定义节点

下面的问题有一个看起来很有希望的答案,但我缺少“node”变量赋值。我想添加一条评论,但系统不允许我这样做。它说我需要50的声誉来添加评论


node.addEventListener(“向下键”),函数(事件){
const key=event.key;/“ArrowRight”、“ArrowLeft”、“ArrowUp”或“ArrowDown”
});
开关(事件键){
案例“箭头左”:
//左压
警惕(“左箭头”);
打破
案例“ArrowRight”:
//右压
警惕(“向右箭头”);
打破
案例“ArrowUp”:
//紧逼
警惕(“向上箭头”);
打破
案例“箭头向下”:
//压制
警惕(“向下箭头”);
打破
}

假设您想在整个页面上监听按键事件,您可以将
节点
替换为JS中已经定义的
文档
。您还需要在事件侦听器的回调函数中移动switch语句,如下所示:

document.addEventListener(“向下键”),函数(事件){
event.preventDefault();//防止页面滚动
const key=event.key;/“ArrowRight”、“ArrowLeft”、“ArrowUp”或“ArrowDown”
切换(键){//change to event.key to key以使用上述变量
案例“箭头左”:
//左压
警惕(“左箭头”);
打破
案例“ArrowRight”:
//右压
警惕(“向右箭头”);
打破
案例“ArrowUp”:
//紧逼
警惕(“向上箭头”);
打破
案例“箭头向下”:
//压制
警惕(“向下箭头”);
打破
}
});
正文{
高度:200vh;
}

一些文字

谢谢!这很有效。我不知道确切的原因,但我会研究它来了解它。我想我现在确实理解了这一点,但我还有一个问题:如何禁用滚动功能的箭头键?我想将箭头键的操作专用于此函数,而不管页面是否超出屏幕边缘(请参阅示例代码段)以停止页面滚动。
<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>