Keys.js 卓越的浏览器应用快捷键绑定库
这个项目产生于一个 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.forEach
, Array.map
, Array.filter
和 Array.indexOf
如果浏览器或其他库尚未实现它们,供内部使用。我目前还没有计划移除这些填充物,但是如果它给您带来了问题,请告诉我,我将研究其他方法。如果您好奇的话,决定填充这些方法是因为我认为代码清晰性和可维护性的改进使它们值得使用。
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论