shortcut.js 用 JavaScript 处理键盘快捷键 - 文章教程

shortcut.js 用 JavaScript 处理键盘快捷键

发布于 2020-02-12 字数 3620 浏览 2544 评论 0

用 JavaScript 处理键盘快捷键,尽管现在有许多 JavaScript 库可用,但我找不到一个可以方便地向您的 JavaScript 应用程序添加键盘快捷键(或加速器)的库。这是因为键盘快捷键只在 JavaScript 游戏中使用,没有真正的 Web 应用程序使用键盘快捷键在其界面周围导航。但谷歌应用程序,如谷歌阅读器和 Gmail 改变了这一点。因此我创建了一个函数,使向应用程序添加快捷方式更加容易。

方法事件

shortcut.add()

第一个参数:快捷键组合 – String
快捷键组合应以此格式指定 Modifier[+Modifier..]+Key
第二个参数:回调函数 – Function
在这里指定函数。如果按下快捷键,将调用此函数。事件变量将传递给它。
第三个参数 [可选] : Options – Associative Array
这个参数必须是与这三个选项中的任何一个相关联的数组。

type – String
事件类别 – 可以是 keydown、keyup、keypress,默认值 keydown
disable_in_input – Boolean
如果将此设置为 true,则将在输入文本区域字段中禁用键盘捕获。如果这些元素具有焦点,则键盘快捷方式将无法工作。这对于单键快捷键非常有用。默认值 false
target – DOM Node
应该监视键盘事件的元素,默认值 document
propagate – Boolean
是否允许事件冒泡,默认值 false
keycode – Integer
监听键码,例如键码 65 就是字母 a。
{
  'type':'keydown',
  'propagate':false,
  'disable_in_input':true,
  'target':document,
  'keycode':65
}

示例

shortcut.add("Ctrl+B",function() {
  alert("The bookmarks of your browser will show up after this alert...");
},{
  'type':'keydown',
  'propagate':true,
  'target':document
});

shortcut.remove()

只有一个参数–之前附加到函数的快捷组合。确保此字符串与添加快捷方式时使用的字符串完全相同。

shortcut.add("Ctrl+B",function() {
  alert("Bold");
});
//Remove the shortcut
shortcut.remove("Ctrl+B");

支持的热键

快捷键应以此格式指定。

Modifier[+Modifier..]+Key

例如

Ctrl+A

有效的修饰符是:

  • Ctrl
  • Alt
  • Shift
  • Meta

您可以指定一个没有修饰符的序列,例如:

shortcut.add("X",function() {
  alert("Hello!");
});

有效的热键

  • 所有字母键和数字键 – abc…xyz,01..89
  • 特殊字符,标准键盘上的每个特殊字符都可以访问。
  • 特殊键
    • Tab
    • Space
    • Return
    • Enter
    • Backspace
    • Scroll_lock
    • Caps_lock
    • Num_lock
    • Pause
    • Insert
    • Home
    • Delete
    • End
    • Page_up
    • Page_down
    • Left
    • Up
    • Right
    • Down
    • F1
    • F2
    • F3
    • F4
    • F5
    • F6
    • F7
    • F8
    • F9
    • F10
    • F11
    • F12

这些键不区分大小写,所以不要担心使用正确的大小写,这个库处于测试版,所以请期待一些问题。欢迎提出建议。

相关链接

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

佚名

文章 0 评论 0

cs163v

文章 0 评论 0

Mr Rock

文章 0 评论 0