【发布时间】:2011-09-28 23:17:25
【问题描述】:
这是我的 hmtl 列表。
<div class="bradius3 taggy-beans">
<div class="taggy-beans-search"><input type="text" id="search-tags" class="bradiusMax" style=""></div>
<div class="pajinate-content">
<ul class="pajinate">
<li class="page1" style="display: inline;">
<ul class="filtered-tags">
<li><a id="4e72858ccaa47ca608510000" class="bradiusMax bean" href="javascript:void(0)">hey</a>
</li>
</ul>
</li>
<li class="page1" style="display: inline;">
<ul class="filtered-tags">
<li>
<a id="4e72858ccaa47ca6082d0000" class="bradiusMax bean" href="javascript:void(0)">hi</a>
</li>
</ul>
</li>
<li class="page1" style="display: inline;">
<ul class="filtered-tags">
<li>
<a id="4e72858ccaa47ca6082d0000" class="bradiusMax bean" href="javascript:void(0)">jhon</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
我的 js 脚本。
$('#search-tags').live('keydown',function(e){
var $prev, $next, $current = $(".pajinate a.highlight");
if (e.which === 40 && !$current.length) {
$(".pajinate a:first").addClass("highlight");
} else if (e.which === 39) {
console.log($next);
$next = $current.next(".pajinate a");
if ($next.length) {
$current.removeClass("highlight");
$next.addClass("highlight");
}
} else if (e.which === 37) {
console.log($prev);
$prev = $current.prev(".pajinate a");
if ($prev.length) {
$current.removeClass("highlight");
$prev.addClass("highlight");
}
} else if (e.which === 38) {
$(".pajinate a").removeClass("highlight");
}
});
我要做的是在上面的 html 列表中通过 e.keyCode 导航,尝试突出显示 a.bean 元素,但脚本仅突出显示第一个 a.bean,然后向左或向右键不会突出显示元素
有什么建议吗?
这里是一个脚本逻辑的例子:http://jsfiddle.net/WeNdW/
【问题讨论】:
标签: javascript jquery drop-down-menu highlighting