Javascript-在KeyDown上交换div

Javascript-在KeyDown上交换div,javascript,html,toggle,swap,Javascript,Html,Toggle,Swap,我可以通过单击链接来交换两个div,如下面的代码所示,但是如何通过按键来交换它们呢 这就是我所拥有的: 函数SwapDivs(第1部分,第2部分){ d1=document.getElementById(div1); d2=document.getElementById(div2); 如果(d2.style.display==“无”){ d1.style.display=“无”; d2.style.display=“块”; }否则{ d1.style.display=“块”; d2.style

我可以通过单击链接来交换两个div,如下面的代码所示,但是如何通过按键来交换它们呢

这就是我所拥有的:

函数SwapDivs(第1部分,第2部分){
d1=document.getElementById(div1);
d2=document.getElementById(div2);
如果(d2.style.display==“无”){
d1.style.display=“无”;
d2.style.display=“块”;
}否则{
d1.style.display=“块”;
d2.style.display=“无”;
}
}

此div在页面打开时显示。

单击链接时会显示此div。

  • 如果你调用一个函数,你不会在它前面写“Function”关键字

  • 您在事件侦听器内部调用的函数
    SwapDivs
    中传递了两个不存在的变量,分别称为
    div1
    div2

  • 如果要向正文中添加事件侦听器,则必须添加
    标记

  • 作为一个例子,我使用了“向下箭头键”,其键码为40

    document.body.addEventListener(“按键”,函数(事件){
    如果(event.keyCode===40){
    SwapDivs('FirstDiv','SecondDiv');
    }
    
    });
    是否应该使用参数'FirstDiv'和'SecondDiv'调用
    SwapDivs
    ,就像使用链接的工作示例一样?我尝试了以下方法:document.body.addEventListener(“keydown”,function(event){if(event.keyCode==32){SwapDivs(div1,div2);});但它仍然不起作用……我想你错过了我评论的关键点。试试这个:
    ocument.body.addEventListener(“keydown”,function(event){if(event.keyCode==32){SwapDivs('FirstDiv','SecondDiv');})解决了它。谢谢你的帮助。谢谢你,但这对我不起作用。我尝试了你链接到的页面,我也尝试了复制和粘贴代码,并用Firefox、Chrome和IE打开。链接仍然有效,但当我按空格键时,什么都没有发生。。。你认为可能有什么问题?它可以使用向下箭头键。我将密钥代码改为32(空格),它开始工作。非常感谢你的帮助!