Kibo 用于处理键盘事件的Javascript工具库

 更新时间:2011年10月28日 14:53:25   作者:  
Kibo是一个简单的用于处理键盘事件的Javascript工具库。
入门
Kibo不依赖任何东西。你只要把它放到你的HTML代码里就行了:
复制代码 代码如下:

<script type="text/javascript" src="kibo.js"></script>

下载 kibo.js
创建一个Kibo对象实例,事件监听器就建立起来了:
复制代码 代码如下:

var k = new Kibo();

Kibo对象的构造器有一个可选参数——你指定的接收事件的HTML元素。可以是input, textarea 或 select,缺省情况下是window.document。

语法和用法
本工具库提供了两个简单的方法——down and up, 它们都接收两个参数:一个按键或多个按键的组合或通配符,以及一个当有匹配的按键事件发生时调用的函数。这两个方法都可以链式调用。

按键组合是指控制键和字符键的组合,或者简单的是一个或多个控制键。你可以向这两个方法传入单个或一个数组形式的多个组合键。

当函数被调用时,事件将被传入这个函数。如果你的事件没有什么操作,忽略就行了。如果函数返回了false,事件的缺省操作将被阻止。

Kibo里提供了一个lastKey方法,用来查询最后一次键盘事件是由什么键产生的。它会返回键的名称,如果在最后的一次按键是不支持的键,方法将返回undefined。除此之外,你还可以用lastKey判断是否是某个特定的功能键被按下,它会要么返回true 要么返回 false。

受支持的按键
Kibo 支持下面的这些按键,拼写这些按键名时不区分大小写:

控制键 shift, ctrl, alt

字母键 从a 到 z

数字键 从0 到 9

功能键 从f1 到 f12

方向键 left, up, right, down

enter, esc, space, backspace, delete, insert, tab, page_up, page_down, home, end, caps_lock, num_lock

通配符 any, any arrow, any number, any letter, any f

例子
var k = new Kibo();

单键或多键组合
复制代码 代码如下:

k.down(['up', 'down'], function() {
console.log('up or down arrow key pressed');
}).up('tab', function() {
console.log('TAB key released');
});

含有控制键的组合键
复制代码 代码如下:

function handler() {
console.log('last key: ' + k.lastKey());
}

k.down(['shift q', 'ctrl alt x'], handler);

通配符
复制代码 代码如下:

k.down(['any letter', 'any number'], function() {
console.log('letter or number key pressed');
console.log('shift key was' + (k.lastKey('shift') ? '' : ' not') + ' pressed');
});

k.up('any', function() {
console.log('key released');
});

阻止缺省事件
复制代码 代码如下:

k.down('f5', function() { return false; });

License
Kibo is released under the MIT License.

相关文章

  • JS倒计时代码汇总

    JS倒计时代码汇总

    这篇文章主要介绍了JS倒计时代码,实例汇总了几种常见的倒计时代码,适用于不同的应用场合,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • layui table checked获取选中数据方式

    layui table checked获取选中数据方式

    这篇文章主要介绍了layui table checked获取选中数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • js获取当前年月日-YYYYmmDD格式的实现代码

    js获取当前年月日-YYYYmmDD格式的实现代码

    下面小编就为大家带来一篇js获取当前年月日-YYYYmmDD格式的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • JS中表单的使用小结

    JS中表单的使用小结

    本篇文章主要是对JS中表单的使用进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 使用JavaScript获取电池状态的方法

    使用JavaScript获取电池状态的方法

    这篇文章主要介绍了使用JavaScript获取电池状态的方法,需要的朋友可以参考下
    2014-05-05
  • 使用js实现瀑布流效果

    使用js实现瀑布流效果

    这篇文章主要为大家详细介绍了使用js实现瀑布流效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • js获取电脑分辨率的思路及操作

    js获取电脑分辨率的思路及操作

    用户要求不同的分辨率,弹出窗口的位置不同,下面是本文的一些想法,并附有示例,喜欢的朋友可以收藏下
    2013-11-11
  • 关于预加载InstantClick的问题解决方法

    关于预加载InstantClick的问题解决方法

    本篇文章主要介绍了关于预加载InstantClick的问题解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • js 动态加载事件的几种方法总结

    js 动态加载事件的几种方法总结

    本篇文章主要是对js 动态加载事件的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • JS 事件绑定函数代码

    JS 事件绑定函数代码

    JS 事件绑定函数代码,解决了浏览器兼容,现在可以兼容IE6 7 8 FF 谷歌
    2010-04-04

最新评论