我有一个无序列表,可以使用 sortable 插件重新排序。
由于它不提供键盘支持,我已经开始为此添加一个自定义功能,从能够通过向上/向下箭头键导航列表开始。
在添加 tabindex 的情况下,通过选项卡浏览项目可以正常工作,但是使用向上/向下箭头会导致在多个列表项之间跳转。
我已经设置了一些测试边框颜色并且可以看到上一个和下一个项目没有被正确选择。
您可以进入下一页上的列表并尝试使用箭头键...
$(document).ready(function(){
$("ul#sortable").sortable();
$("ul#sortable li").focus(function() {
$(this).css("border-color","red");
$previtem = $(this).prev('li');
$previtem.css("border-color","aqua");
$nextitem = $(this).next('li');
$nextitem.css("border-color","lime");
$(this).keydown(function(e){
if (e.keyCode == 40) { /* Focus Down */
$nextitem.focus();
return false;
} else if (e.keyCode == 38) { /* Focus Up */
$previtem.focus();
return false;
}
});
});
});