// 点击三角时
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确认最新被选中的按钮,所以那个背景是为最新选中的行所加的背景色