我需要使应用程序功能可以通过键盘访问,而不仅仅是鼠标。该应用程序使用 jquery sortable 来管理有序列表。任何人都可以提出如何通过键盘提供排序功能的想法吗?我说的是通过拖放进行的基本排序,如http://jqueryui.com/sortable上的示例所示。我没有看到 jqueryui/sortable 上提到的任何内容,这让我相信该框架没有对键盘的内置支持。或者,是否有任何其他支持键盘的 java 脚本排序框架?
问问题
2000 次
1 回答
3
通过使用以下方法让它工作:
为列表中的所有项目添加了 tabindex。这允许用户在各个列表项之间切换。
添加了以下js:
$('.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)>
因此,选项卡允许导航到项目并在项目中移动,而箭头在列表中上下移动项目。它可以工作,但与使用鼠标时的拖放移动图形相比,它当然看起来非常原始。想知道我是否可以通过合理的努力为这个动作制作动画......
于 2013-05-31T17:50:13.987 回答