我写了一个支持键盘的菜单。可是有一个问题请大家帮忙看看
<HTML>
<HEAD>
<style>
.inputbox{
border-top:#000000 solid 0px;
border-left:#000000 solid 0px;
border-right:#000000 solid 0px;
border-bottom:#000000 solid 0px;
background:#D4D0C8;
}
.under{
text-decoration:underline;
}
.selectedRow{
background:#0A246A;color:white;
}
.unselectedRow{
background:#D4D0C8;color:black;
}
</style>
<TITLE></TITLE>
<script>
var seleMenu=0;//当前选中菜单的index
var seleMenuItem=0;//当前选中菜单项的index
document.onmouseup=myMouseDown;
function myMouseDown()
{
for(var i=0;i<xmlData.documentElement.childNodes.length;i++)
{
showDiv(eval("document.all.myFont"+i+".id"),eval("document.all.myDiv"+i+".id"),false);
}
}
document.onkeydown=myKeyDown;
function myKeyDown()
{
var length=xmlData.documentElement.childNodes.length;
for(var i=0;i<length;i++)
{
if(event.altKey)
{
showDiv(eval("document.all.myFont"+i+".id"),eval("document.all.myDiv"+i+".id"),false);
}
if(event.altKey && event.keyCode==(xmlData.documentElement.childNodes.item(i).getAttribute("menuChar").charCodeAt(0)))
{
showDiv(eval("document.all.myFont"+i+".id"),eval("document.all.myDiv"+i+".id"),true);
}else if(event.keyCode=='27')//处理ESC
{
showDiv(eval("document.all.myFont"+i+".id"),eval("document.all.myDiv"+i+".id"),false);
}
}
//处理上箭头
if(event.keyCode=='38')
{
for(var i=0;i<length;i++)
{
if(eval("document.all.myDiv"+i+".style.visibility")=="visible")
{
rowLen=eval("document.all.myTable"+i+".rows.length");
for(var j=0;j<rowLen;j++)
{
eval("document.all.myTable"+i+".rows["+j+"].className='unselectedRow'");
}
if(rowLen>0)//如果有子菜单
{
if(seleMenuItem==1)
{
seleMenuItem=rowLen;
eval("document.all.myTable"+i+".rows["+(seleMenuItem-1)+"].className='selectedRow'");
}else if(seleMenuItem==0)
{
}else
{
seleMenuItem--;
eval("document.all.myTable"+i+".rows["+(seleMenuItem-1)+"].className='selectedRow'");
}
}
}
}
}