如何在没有Shift,Control或Alt要求的情况下为asp.net按钮指定键盘快捷键?

时间:2014-04-01 00:52:05

标签: c# asp.net

我有一个项目菜单,前面有一个数字,可作为快速导航的键盘快捷键。想想九个按钮的文字如下:

1 Open
2 Close
3 End

等等。实际样本按钮:

<asp:Button ID="bOpen" runat="server" Font-Bold="True" Font-Size="Large" 
            Text="1 Open" Width="100%" onclick="bOpen_Click" AccessKey="1" />

我希望用户按下小键盘上的数字,数字的顶行或手持式外部输入设备上的数字,以导航到其他页面。目前,我正在使用AccessKey属性,该属性适用于手持设备(因此我不需要此部分的帮助),但不能使用任何键盘数字集。在键盘上,使用AccessKey时需要Alt + Shift。我不想要多键快捷键。

如何按一下按键激活这些菜单项?

1 个答案:

答案 0 :(得分:1)

我最终使用的解决方案是Javascript / jQuery。

$(document).keyup(function (e) {
    if (e.keyCode == 49 || e.keyCode == 97) { $("#<%=bOpen.ClientID %>").click(); }
    if (e.keyCode == 50 || e.keyCode == 98) { $("#<%=bClose.ClientID %>").click(); }
    ...(etc)
} 

我在每个按钮中包含两个密钥代码,用于计算小键盘和顶部号码行。我从这里拿了钥匙码:

http://www.webonweboff.com/tips/js/event_key_codes.aspx

我还单独留下了AccessKey属性,因此外部输入设备仍然可以像以前一样工作。