Keys.js 卓越的浏览器应用快捷键绑定库

发布于 2020-02-29 10:22:16 字数 1651 浏览 1076 评论 0

这个项目产生于一个 Chrome 扩展,我一直在处理越来越多的快捷操作的关键组合,直到它最终变成了一个无法维护的老鼠窝。显然,我需要一个解决方案,Keys.js 诞生了。

特性

  • 使用名称定义绑定,可以指定一个或者多个键或者组合键
  • 绑定时附加行为Attach behavior to a binding
  • 单个绑定可以执行一个或者多个行为
  • 使用一个简单 API 来绑定执行触发类的行为
  • 可以通过名字启用或者禁用绑定,也可以指定全部
  • 使用基于对象的简单 API 代替字符串来抓取错误(可以立即发现拼写错误),可以避免创建无效组合键
  • 使用 localStorage 来进行序列化的持久绑定,或者上传到服务器中,自定义用户 web 应用的快捷键绑定。使用相同的 API 也可以很容易反序列化。

支持的浏览器

  • IE7+ ( IE6 不确定)
  • Firefox 21+
  • Safari 6+
  • Chrome 27+

模块支持

Key.js 有 CommonJS 和 AMD 模块支持,可以跟 require.js 或者其他模块加载器一起使用。

安装

$ npm install --save keys.js

第三方库依赖

没有。我想确保 Keys 能够独立地独立于任何第三方库。这使得在现有项目上部署非常容易。唯一的例外是 IE<7 中没有提供 JSON 对象。在这种情况下,需要将 JSON 2 库添加到项目中。只有当您计划使用Keys.js提供的序列化特性时,这才是必要的。

潜在副作用

Key.js填充 Array.forEachArray.mapArray.filter 和 Array.indexOf  如果浏览器或其他库尚未实现它们,供内部使用。我目前还没有计划移除这些填充物,但是如果它给您带来了问题,请告诉我,我将研究其他方法。如果您好奇的话,决定填充这些方法是因为我认为代码清晰性和可维护性的改进使它们值得使用。

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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

列表为空,暂无数据

关于作者

JSmiles

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

0 文章
0 评论
84935 人气
更多

推荐作者

待"谢繁草

文章 0 评论 0

战皆罪

文章 0 评论 0

子英

文章 0 评论 0

爱的十字路口

文章 0 评论 0

孤者何惧

文章 0 评论 0

xi霄xi

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击“接受”或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。