我想开发一个 Web 应用程序,它应该(理想情况下)可以通过键盘完全使用。我知道如何在 JavaScript 中处理键盘事件,但是为更大的应用程序管理它们是很无聊的。
是否有一个库可以使该过程更容易?
请注意,我对成熟的 Web GUI 框架不感兴趣。我想控制我的网页/应用程序。
我想开发一个 Web 应用程序,它应该(理想情况下)可以通过键盘完全使用。我知道如何在 JavaScript 中处理键盘事件,但是为更大的应用程序管理它们是很无聊的。
是否有一个库可以使该过程更容易?
请注意,我对成熟的 Web GUI 框架不感兴趣。我想控制我的网页/应用程序。
查看我的项目:
https://github.com/oscargodson/jkey
和演示:
http://oscargodson.github.com/jKey/
随意使用它,如果你愿意,贡献:)
我刚刚开发了一个我自己的称为Mousetrap。看看这个。
您可以使用Hotkeys - 一个 jQuery 插件。jQuery 是一个非常轻量级的 JavaScript 库 - 它是使用热键所需的 JavaScript 文件。
您可以从阅读accesskey
属性开始:
此属性为元素分配访问键。访问键是文档字符集中的单个字符。笔记。作者在指定访问键时应考虑预期读者的输入法。
[...]
访问密钥的调用取决于底层系统。例如,在运行 MS Windows 的机器上,除了访问键之外,通常还必须按下“alt”键。在 Apple 系统上,除了访问键之外,通常还必须按“cmd”键。
您还可以将accesskey
属性放在元素上,可以在Wikipedia<a>
上的“随机文章”侧边栏链接上找到这种用法的示例。
我强烈建议您查看 Thomas Fuchs 的 keymaster 以在 Web 应用程序中执行键盘快捷键:https ://github.com/madrobby/keymaster
它使它变得非常简单:
// Define short of 'a'
key('a', function(){ alert('you pressed a!') });
// Returning false stops the event and prevents default browser events
key('ctrl+r', function(){ alert('stopped reload!'); return false });
// Multiple shortcuts that do the same thing
key('⌘+r, ctrl+r', function(){ });
您可以使用accesskey HTML 属性,因为它会使您的 Web 应用程序可访问。
使用KeyTips jQuery 插件以类似于Office 功能区键盘快捷键的方式向用户显示它们。
请注意,关于 accesskey 的 Wikipedia 页面列出了用于调用不同浏览器的访问键的修饰键。
另请参阅A List Apart文章:Accesskeys:解锁隐藏导航