我需要通过键盘访问应用程序功能,而不仅仅是鼠标。该应用程序使用 jquery sortable 来管理有序列表。任何人都可以提出如何通过键盘提供排序功能的想法吗?我正在谈论通过拖放进行的基本排序,如 http://jqueryui.com/sortable 上的示例所示.我没有看到 jqueryui/sortable 上提到的任何内容,这让我相信该框架没有内置的键盘支持。
或者,是否还有其他支持键盘的 java 脚本排序框架?
最佳答案
使用以下方法可以使其正常工作:
$('.sortable li').focus(function() {
$(this).addClass("ui-selecting");
});
$('.sortable li').focusout(function() {
$(this).removeClass("ui-selecting");
});
$('.sortable li').bind('keydown', function(event) {
...
if(event.which == 38) //up
pseudocode:
<current.text := previous.text>
<current.data := previous.data>
<previous.text := current.text>
<previous.data := current.data>
<set_focus(previous)>
if(event.which == 40)
pseudocode:
<current.text := next.text>
<current.data := next.data>
<next.text := current.text>
<next.data := current.data>
<set_focus(next)>
因此,Tab 键允许导航到项目并在其中移动,而箭头可在列表中上下移动项目。
它可以工作,但与使用鼠标时的拖放移动图形相比,当然看起来非常原始。
想知道我是否可以以合理的努力为移动设置动画...
关于jquery-ui - jqueryui 可以用键盘排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16844616/