用于构建交互式用户界面的 JavaScript 库,基于可组合的组件开发。
jamiebuilds/tinykeys
一个轻量的浏览器快捷键库,可将单键、组合键及多键序列绑定到处理函数。
- Star
- 4,104
- Fork
- 89
- 未关闭 Issue
- 7
- 最近提交
- 上个月
这是什么?
tinykeys 是一个用于 Web 应用的小型快捷键库。传入 window 等目标对象,以及把 "Shift+D"、"$mod+b" 等按键模式映射到回调函数的对象,它就会监听键盘事件并调用匹配的处理函数。调用返回的 unsubscribe 函数即可取消绑定,适合在组件卸载时清理。
语法支持修饰键、用方括号标记的可选修饰键,以及跨平台的 $mod(Mac 上为 Meta,其他系统为 Control)。还支持用括号书写的正则分组来匹配一组按键,以及 "g i" 这类多键序列,并可配置按键之间的超时时间。绑定既可匹配 KeyboardEvent.key,也可匹配 KeyboardEvent.code。库中提供 parseKeybinding 辅助函数,方便在界面中展示快捷键。
可通过 npm 安装,也可通过 CDN 引入,项目使用 TypeScript 编写。
核心功能
- 01支持单键、组合键和多键序列的绑定。
- 02$mod 别名在 Mac 上对应 Meta,在其他系统上对应 Control。
- 03支持用正则分组用一条绑定匹配多个按键。
- 04返回 unsubscribe 函数,便于清理监听器。
- 05可按 key 或 code 匹配,并处理 AltGraph 等键盘布局差异。
- 06提供 parseKeybinding 函数,便于在界面中展示快捷键。
适用场景
- 在网页文本编辑器中添加 Cmd+B 加粗等快捷键。
- 在 Web 应用中实现 "g i" 这类多键导航序列。
- 在 React 组件中注册快捷键,并在卸载时自动清理。
快速上手
- 1
使用 npm 安装该包
npm install --save tinykeys - 2
导入 tinykeys 并将快捷键绑定到 window
收录于专题
标签
常见问题
- tinykeys 是什么?
- 一个轻量的浏览器快捷键库,可将单键、组合键及多键序列绑定到处理函数。 tinykeys 是一个用于 Web 应用的小型快捷键库。传入 window 等目标对象,以及把 "Shift+D"、"$mod+b" 等按键模式映射到回调函数的对象,它就会监听键盘事件并调用匹配的处理函数。调用返回的 unsubscribe 函数即可取消绑定,适合在组件卸载时清理。
- tinykeys 可以免费使用吗?用的什么许可证?
- tinykeys 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- tinykeys 还在维护吗?
- 半年内有更新。tinykeys 最近一次提交是在 2026年9月25日。
- tinykeys 适合用来做什么?
- 在网页文本编辑器中添加 Cmd+B 加粗等快捷键。 在 Web 应用中实现 "g i" 这类多键导航序列。 在 React 组件中注册快捷键,并在卸载时自动清理。
- tinykeys 怎么安装和运行?
- 使用 npm 安装该包: npm install --save tinykeys 导入 tinykeys 并将快捷键绑定到 window
- 在哪里获取 tinykeys?
- 源代码和安装说明在 GitHub 上:https://github.com/jamiebuilds/tinykeys
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
25.2万+387 本周5.2万JavaScriptMIT更新于 21小时前
一个将声明式组件编译为高效 JavaScript、精准更新 DOM 的前端编译器。
8.9万+107 本周6787JavaScriptMIT更新于 19小时前
面向设计工程师的 UI 技能库,可通过 CLI 和 MCP 服务浏览与获取。
1.1万+342 本周513TypeScriptMIT更新于 前天
用于独立开发、文档化和测试 UI 组件的前端工作台,支持 React、Vue、Angular 等框架。
9.1万+55 本周1万TypeScriptMIT更新于 19小时前
一个用 Go 和 WebAssembly 构建渐进式 Web 应用(PWA)的包,UI 完全用 Go 声明式编写。
8982+7 本周407GoMIT更新于 4天前
一个 React 命令面板(Cmd+K)组件,可为网站添加带快捷键的可搜索操作菜单。
5261+2 本周204TypeScriptMIT更新于 3个月前