Javascript 更改按键上的div bgcolor

Javascript 更改按键上的div bgcolor,javascript,html,css,Javascript,Html,Css,尝试使用onkeypress事件更改我所有div的背景色。R=红色,B=白色,V=绿色。当按下R键时,它会工作,但当我按下V或B键时,它会发出警报。 我试过了,没有回音,用开关(实际上我应该用开关来做这件事)。老师今天取消了课,所以我没能和他核对。而且我要到下周才能见到他。我尝试了2-3个小时的事情和其他事情,我完全卡住了,请帮助。。提前谢谢 window.onkeypress = function colorchange(x) { if (x.keyCode

尝试使用onkeypress事件更改我所有div的背景色。R=红色,B=白色,V=绿色。当按下R键时,它会工作,但当我按下V或B键时,它会发出警报。 我试过了,没有回音,用开关(实际上我应该用开关来做这件事)。老师今天取消了课,所以我没能和他核对。而且我要到下周才能见到他。我尝试了2-3个小时的事情和其他事情,我完全卡住了,请帮助。。提前谢谢

    window.onkeypress = function colorchange(x)
    { 
        if (x.keyCode == 114)
           { var divs = document.getElementsByTagName("div");
            for(var i = 0; i < divs.length; i++)
            {
            divs[i].style.backgroundColor = "red";
            }return;
           }
        if (x.keycode == 118)
           {
            var divs = document.getElementsByTagName("div");
            for(var i = 0; i < divs.length; i++)
            {
            divs[i].style.backgroundColor = "green";
            }return;
           }
        if (x.keycode == 98)
         {

           var divs = document.getElementsByTagName("div");
            for(var i = 0; i < divs.length; i++)
            {
            divs[i].style.backgroundColor = "white";
            }return;
         }
         else 
         {
             alert("this key doesnt do anything")

         }
    }
window.onkeypress=函数颜色更改(x)
{ 
如果(x.keyCode==114)
{var divs=document.getElementsByTagName(“div”);
对于(变量i=0;i

}变量区分大小写。您有
keycode
,它应该是
keycode
。看起来您还应该使用
else if()

window.onkeypress=函数颜色更改(x){
如果(x.keyCode==114){
var divs=document.getElementsByTagName(“div”);
对于(变量i=0;i
正文{
背景:#eee;
}
div{
宽度:100px;
高度:100px;
背景:#aaa;
}

在第二个和第三个
if
语句中,您比较的是
x.keycode
,而不是
x.keycode
。如果
,还应使用
else链接条件

window.onkeypress = function colorchange(x)
{ 
    if (x.keyCode === 114) {
    var divs = document.getElementsByTagName("div");
    for (var i = 0; i < divs.length; i++)
    {
      divs[i].style.backgroundColor = "red";
    }
    return;
  }
  else if (x.keyCode === 118)
  {
    var divs = document.getElementsByTagName("div");
    for(var i = 0; i < divs.length; i++)
    {
      divs[i].style.backgroundColor = "green";
    }
    return;
  }
  else if (x.keyCode === 98)
  {
    var divs = document.getElementsByTagName("div");
    for(var i = 0; i < divs.length; i++)
    {
      divs[i].style.backgroundColor = "white";
    }
    return;
  }
  else 
  {
    alert("this key doesnt do anything")
  }
}
window.onkeypress=函数颜色更改(x)
{ 
如果(x.keyCode===114){
var divs=document.getElementsByTagName(“div”);
对于(变量i=0;i

看。

啊哈,哎哟,这一个疼!现在一切都好了。。注意,它在firefox上不起作用,但chrome很好@FrankCharron您应该使用
x.which
,它适用于大多数情况<代码>风险值代码=(e.keyCode?e.keyCode:e.which)请参见此处: