【发布时间】:2014-01-13 06:55:24
【问题描述】:
我有这个带有溢出的长列表:自动滚动它,我将它设置为键盘导航,问题是使用键盘时它不能正确滚动!
检查这个jsFiddle
$('ul').keydown(function (e) {
if (e.keyCode == 38) { // up
var selected = $(".selected");
$listItems.removeClass("selected");
if (selected.prev().length == 0) {
selected.siblings().last().addClass("selected");
} else {
selected.prev().addClass("selected");
}
}
if (e.keyCode == 40) { // down
var selected = $(".selected");
$listItems.removeClass("selected");
if (selected.next().length == 0) {
selected.siblings().first().addClass("selected");
} else {
selected.next().addClass("selected");
}
}
})
});
$listItems.click(function () {
if ($(this).is('.selected')) {
return true;
} else {
$('li').removeClass('selected');
$(this).addClass('selected');
}
我正在寻找的行为与使用键盘滚动一长串元素时元素的行为相同,这个插件SelectBoxIt 显示了我正在寻找的东西。
【问题讨论】:
标签: javascript jquery navigation keyboard html-lists