阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

KeyboardJS 0.4.1 发布

  • 2013-01-18
  • 本文字数:978 字

    阅读完需:约 3 分钟

KeyboardJS 是一款为简化 JavaScript 中的键盘处理而编写的库,上个月发布了 0.4.1 版本,该版本修复了很多 bug,还包含了一些新特性。 KeyboardJS 库致力于帮助前端开发人员处理键盘动作,比如支持网站或游戏中的快捷键。如果不使用库,要检查 J 和 K 是否同时按下,可能需要使用类似如下的代码:

复制代码
var jPressed = false,
kPressed = false;
document.addEventListener('keydown', function (e) {
if (e.keyCode === 74) {
jPressed = true;
} else if (e.keyCode === 75) {
kPressed = true;
}
if (jPressed && kPressed) {
// 两个键都被按下;向控制台中打印日志
console.log('Both J and K are pressed');
}
});
document.addEventListener('keyup', function (e) {
if (e.keyCode === 74) {
jPressed = false;
} else if (e.keyCode === 75) {
kPressed = false;
}
});

而使用 KeyboardJS 时,只需如下可读性更好的代码:

复制代码
KeyboardJS.on('j + k', function () {
console.log('Both J and K are pressed');
});

该库还允许开发者指定按键按下的顺序(使用 > 运算符),而且除了上面演示的“与(and)”操作,“或(or)”操作可以使用空格或逗号。

KeyboardJS 没有发布 0.4.0 版本,上个月发布的 0.4.1 版是完全重写的。除了修复很多 bug 之外,还有一些 API 方面的变更。这里举两个例子,一个是添加了 KeyboardJS.getActiveKeys() 函数,能够按名字返回当前按下按键的数组(GitHub 上的 KeyboardJS 网站就是利用该函数输出按键名的),另一个是很多用于处理组合按键的组合函数移到了 KeyboardJS.combo 对象中。

要把 KeyboardJS 添加到自己的应用中,可以从 GitHub (鼠标滑动到“Get it Here”部分)下载代码,并在使用 KeyboardJS 之前将如下 HTML 代码添加到你的页面中:

复制代码
<script src="keyboard.js"></script>

如果仍在使用 XHTML,需要将 type="text/javascript"添加到 script 标签中。

也可以通过 RequireJS 将其当做 AMD 模块下载。

区域设置指的是不同的键盘布局,比如在美式键盘布局中,shift + 6 是(^)符号,而在德式键盘布局中则是(&)。每种要支持的区域设置都必须告知该库。KeyboardJS 目前只支持美式键盘布局,但是添加自己的区域设置非常容易——请确保在添加自己的区域设置时向该库发送 pull 请求。

参考英文原文 KeyboardJS 0.4.1 released

2013-01-18 04:351092
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 130.2 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容
KeyboardJS 0.4.1发布_JavaScript_Callum Macrae_InfoQ精选文章