Javascript jquery导航&x2B;突出显示<;李>;按键上的项目。按下代码
您好,我计划制作一个ul li列表,并使其可导航,突出显示Javascript jquery导航&x2B;突出显示<;李>;按键上的项目。按下代码,javascript,jquery,css,jquery-plugins,user-interface,Javascript,Jquery,Css,Jquery Plugins,User Interface,您好,我计划制作一个ul li列表,并使其可导航,突出显示项 因此,从: <ul> <li> <a class="a">hey</a> </li> <li> <a class="a">hey you!</a> </li> <li> <a class="a">hey what's up?</a> </li> <li> <a c
项
因此,从:
<ul>
<li>
<a class="a">hey</a>
</li>
<li>
<a class="a">hey you!</a>
</li>
<li>
<a class="a">hey what's up?</a>
</li>
<li>
<a class="a">hey hey</a>
</li>
</ul>
-
嘿
-
嘿,你!
-
嘿,怎么了?
-
嘿嘿
我希望以这种方式浏览
项目:
项
OHOHO:)我刚刚创建了一个完美的例子:看看stackoverflow标签输入自动完成列表:)(这和我想为我的ul项目做的事情是一样的:)不确定你到底想在哪里收听
按键事件,但这适用于整个文档:
$(document).bind("keydown", function (e) {
var $prev, $next, $current = $("ul li.highlight");
if (e.which === 40 && !$current.length) {
$("ul li:first").addClass("highlight");
} else if (e.which === 39) {
$next = $current.next("li");
if ($next.length) {
$current.removeClass("highlight");
$next.addClass("highlight");
}
} else if (e.which === 37) {
$prev = $current.prev("li");
if ($prev.length) {
$current.removeClass("highlight");
$prev.addClass("highlight");
}
} else if (e.which === 38) {
$("ul li").removeClass("highlight");
}
});
示例:给您:很好,只需选中此项:首先单击key.down,然后单击key.left或key.right,然后再次单击key.down:P@Ispuk当前位置我不确定在这种情况下您希望发生什么。怎么办?明天我会接受正确的答案,因为现在maxedison的更好,因为你的小错误,如果修复了,我更喜欢你的版本,因为代码行更少,真的谢谢!你没看到有两个突出显示的Pfirs单击down首先突出显示 ,然后key.down将不起作用:)我选择了您的版本,只需在所有浏览器上检查即可