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.

相关文章

  • JavaScript 放大镜 放大倍率和视窗尺寸

    JavaScript 放大镜 放大倍率和视窗尺寸

    对JavaScript 放大镜来说, 计算倍率必不可少.一个完整的放大镜结构里, 与倍率扯上关系的一共有 4 个对象, 原图, 缩略图, 镜片和视窗.
    2011-05-05
  • echarts饼图标签formatter使用及饼图自定义标签

    echarts饼图标签formatter使用及饼图自定义标签

    项目中有遇到需要使用饼图展示每种状态所占比例,去echarts官网学习了一番,下面这篇文章主要给大家介绍了关于echarts饼图标签formatter使用及饼图自定义标签的相关资料,需要的朋友可以参考下
    2022-12-12
  • Bootstrap布局组件教程之Bootstrap下拉菜单

    Bootstrap布局组件教程之Bootstrap下拉菜单

    这篇文章主要介绍了Bootstrap布局组件教程之Bootstrap下拉菜单的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • javascript实现简单的Map示例介绍

    javascript实现简单的Map示例介绍

    本文为大家介绍下使用javascript实现简单的Map,可以对map进行获取、判断、删除、增加等等,感兴趣的朋友可以了解下
    2013-12-12
  • JS获取并处理php数组的方法实例分析

    JS获取并处理php数组的方法实例分析

    这篇文章主要介绍了JS获取并处理php数组的方法,结合实例形式分析了php针对数组的创建、转换以及js处理数组的接收、遍历、转换等相关操作技巧,需要的朋友可以参考下
    2018-09-09
  • 如何HttpServletRequest文件对象并储存

    如何HttpServletRequest文件对象并储存

    这篇文章主要介绍了如何HttpServletRequest文件对象并储存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Js中安全获取Object深层对象的方法实例

    Js中安全获取Object深层对象的方法实例

    Object是JavaScript基本数据类型之一(function也属于object,是特殊的object),其存储于堆中,这篇文章主要给大家介绍了关于Js中安全获取Object深层对象的相关资料,需要的朋友可以参考下
    2021-09-09
  • 手机浏览器唤起微信分享(JS)

    手机浏览器唤起微信分享(JS)

    这篇文章主要介绍了手机浏览器唤起微信分享功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • 使用gulp搭建本地服务器并实现模拟ajax

    使用gulp搭建本地服务器并实现模拟ajax

    这篇文章主要给大家介绍了如何使用gulp搭建本地服务器并实现模拟ajax的相关资料,文中介绍的非常详细,相信对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • JS实现元素上下左右移动效果

    JS实现元素上下左右移动效果

    这篇文章主要为大家详细介绍了JS实现元素上下左右移动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论