【问题标题】:Keyboard navigation for RadListBox with icons带有图标的 RadListBox 的键盘导航
【发布时间】:2018-02-18 10:16:31
【问题描述】:

我正在使用 RadListBox 显示项目列表。每个项目都有一个图标。当该项目的第一个字母被按下时,要求是在该项目上跳转。

例如:当按下字母“D”时应该关注“Dock”

是否有任何内置功能可以完成此操作>

【问题讨论】:

    标签: telerik telerik-ajax radlistbox telerik-radlistbox


    【解决方案1】:

    此功能内置在 RadListBox 中,开箱即用。

    您必须使列表框成为焦点,然后键入一个键来选择第一个字母与所按下的键匹配的项目。为了专注于列表框,您可以:用鼠标单击,Tab 到它,在 JS 中设置焦点,或者使用 KeyboardNavigationSettings.CommandKeyKeyboardNavigationSettings.FocusKey 帮助键盘导航。

    示例:

     RadListBox1 = new RadListBox()
     RadListBox1.KeyboardNavigationSettings.CommandKey = KeyboardNavigationModifier.Alt;
     RadListBox1.KeyboardNavigationSettings.FocusKey = KeyboardNavigationKey.L;
    

    如有必要,您还可以使用EnableMarkMatches 突出显示多个匹配项,并输入多个字母进行选择。

    参考:Telerik RadListBox Keyboard Navigation Demo

    【讨论】:

    • 如果列表框中有图标则不起作用。否则,它非常简单直接
    • 该死的 Telerik 总是提供很棒的功能,但似乎讨厌互相配合!!您可以尝试其他一些想法:1)跳过 Telerik 内置图标功能并尝试将它们注入客户端。或 2) 编写您自己的选择功能 [当焦点设置到列表框时附加一个按键事件,循环列表框中的选项并选择与您按下的键匹配的选项] 3) 在 Telerik 论坛上发帖并希望他们给你一个很好的答案。如果您在此处发布 #3 链接,我想看看他们的论坛提出的解决方案。
    【解决方案2】:

    似乎这是一个 Telerik 错误,但我做了一个项目,测试情况并且它正在工作。

    download sample project here.

    此项目在 google chrome 版本 60.0.3112.113 (Official Build) (64-bit) 上测试

    运行项目后按Alt+sAlt+oAlt+c

    记得更改AccessKey属性来更改快捷键:

    RadListBox1.Items[0].AccessKey = "s";
    

    我应该说这不是一个完美的解决方案。

    RadListBox 是一个强大的 ASP.NET AJAX 控件,用于显示项目列表。它允许在两个列表框之间进行多项选择、重新排序和传输。拖放也完全支持。

    【讨论】:

    • 它在 Chrome 中工作(不在 IE 中)。为了在 Chrome 中使用它,还应按您提到的 Alt 键。对于最终用户来说不是一个理想的解决方案,但与 Telerik 控件无关。我会接受它作为答案。谢谢!
    猜你喜欢
    • 2016-03-28
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    相关资源
    最近更新 更多