// 点击三角时 title.onclick=function(event){ event=event || window.event; if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelBubble=true; } menu.style.display='block'; document.onkeyup=function(e){ e=e || window.event; for(var i=0;i<as.length;i++){ as[i].style.background='none'; } // 如果按下了向下方向键 if(e.keyCode==40){ index++; if(index>=as.length){ index=0; } as[index].style.background="#ccc"; } // 如果按下了向上方向键 if(e.keyCode==38){ if(index<=0){ index=as.length; } index--; as[index].style.background="#ccc"; } // 如果按下了回车键 if(e.keyCode==13 && index!=-1){ title.innerHTML=as[index].innerHTML; for(var i=0;i<as.length;i++){ as[i].style.background='none'; } menu.style.display='none'; index=-1; } } }
这是老师给出的示例代码,我想问一下为什么要在判断键码是否为40时也设置了as[i]的background?
判断keycode==40是为了判断现在的是否为向下按钮。然后index确认最新被选中的按钮,所以那个背景是为最新选中的行所加的背景色