带键盘导航的Javascript下拉菜单

时间:2011-11-21 08:53:32

标签: javascript html css

只使用JS就可以完成箭头键导航吗?

不像超级鱼等第三方

2 个答案:

答案 0 :(得分:1)

是的,这是一个骨架:

document.onkeydown = function(evt) 
{
    evt = evt || window.event;
    if (evt.keyCode == 37) 
    {
        //do something
    }
    else if (evt.keyCode == 38) 
    {
        //do something
    }
    else if (evt.keyCode == 39) 
    {
        //do something
    }
    else if (evt.keyCode == 40) 
    {
        //do something
    }
};  

答案 1 :(得分:0)

你可能能够逃脱这个:

document.onkeypress = keyHandler;

function keyHandler(evt)
{
    var evt  = (evt) ? evt : ((event) ? event : null);
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);

    if (evt.keyCode == 37 /*left arrow*/) {
        //...
    }
    if (evt.keyCode == 38 /*up arrow*/) {
        //...
    }
    if (evt.keyCode == 39 /*right arrow*/) {
        //...
    }
    if (evt.keyCode == 40 /*down arrow*/) {
        //...
    }
}

当然,有一些quirks ......