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.

(0)

相关推荐

  • javascript 键盘事件总结 推荐

    在form中, submit的快捷键是 enter,reset的快捷键是 esc.不过在IE6,safari4,ff3.5,opera10,chrome中,按Enter,不但激发form的submit事件,同时也会激发提交按钮的onclick,激发顺序为提交按钮的 onclick → form 的 onsubmit. 键盘事件 键盘事件 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 不过并不止提交按钮会激发form的submit事件,连同上面的归纳如下: 1. 如果表单里有一个ty

  • Javascript 键盘事件的组合使用实现代码

    复制代码 代码如下: txt1.onkeydown = function(ev){ var oevent = ev||event; if(oevent.ctrlKey && oevent.keyCode == 13){ -- } } txt1:绑定事件的对象,例如:一个文本输入框input. oevent:事件对象(包含事件的很多有用详情). keyCode:可以获取到键盘按下的键值.例如:回车键就是13. ctrlKey:是一个布尔值,表示键盘上面的ctrl键是否为按下状态.(当然还有:

  • javascript键盘事件全面控制脚本代码

    TD {text-align:center} function init() { document.onkeydown = showKeyDown document.onkeyup = showKeyUp document.onkeypress = showKeyPress } function showKeyDown(evt) { evt = (evt) ? evt : window.event document.getElementById("pressKeyCode").inne

  • javascript的键盘控制事件说明

    控制回车焦点问题: 复制代码 代码如下: <script type="text/javascript"> function submitForm() { if(window.event.keyCode==13) { document.getElementById('btnSearch').focus(); } } document.onkeydown=submitForm; </script> 首先需要了解的是如何初始化该事件,基本语句如下: document.

  • javascript中键盘事件用法实例分析

    本文实例分析了javascript中键盘事件用法.分享给大家供大家参考.具体如下: 键盘事件包含onkeydown.onkeypress和onkeyup这三个事件 事件初始化 function keyDown(){} document.onkeydown = keyDown; //论按下键盘上的哪个键,都将调用KeyDown()函数. DOM标准下 function keyDown(e) { var keycode = e.which; //取得对应的键值(数字) var realkey = S

  • JavaScript onkeydown事件入门实例(键盘某个按键被按下)

    JavaScript onkeydown 事件 用户按下一个键盘按键时会触发 onkeydown 事件.与 onkeypress事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键),onkeypress 事件只响应字符键按下后的处理. 提示 Internet Explorer/Chrome 浏览器使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 等浏览器使用 event.which. onkeydown 获取用户按下的键

  • 在JavaScript中监听IME键盘输入事件

    输入法应当如何触发键盘事件呢?是每一下击键都触发一次事件,还是选词完毕才触发事件呢?整句输入又该如何触发事件呢?不同的操作系统和不同的浏览器对此有不同的看法.在最糟糕的情况下,用户使用输入法后浏览器就只触发一次 keydown ,之后就没有任何的键盘事件了.这对于 Suggestion 控件的实现来说是个大问题,因为 Suggestion 控件需要监听文本输入框的变化,而事件是最准确也最节省计算资源的做法,如果换成轮询的话性能就可能受到影响. 首先,要监听启用输入法后的击键事件应当使用 keyd

  • 键盘 keycode的值 javascript时触发事件时很有用的要素

    keycode 0 = keycode 1 = keycode 2 = keycode 3 = keycode 4 = keycode 5 = keycode 6 = keycode 7 = keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 10 = keycode 11 = keycode 12 = Clear keycode 13 = Enter keycode 14 = keycode 15 = keycode 16 =

  • JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)

    JavaScript onkeypress 事件 用户按下或按住一个键盘按键时会触发 onkeypress 事件. 注意:onkeypress 事件与 onkeydown事件有些细微差别,onkeypress 事件不做相应功能键按下的处理.具体可将下面的示例更改为 onkeydown 事件后,可输入 !@#$ 等特殊字符即可体会出二者之间的差别. 提示 Internet Explorer/Chrome 浏览器使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox

  • JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器

    废话少说,代码上来: 复制代码 代码如下: document.onkeydown=function() { var EventUtil = {}; EventUtil.getEvent = function(){ if(window.event){return window.event;} else{return EventUtil.getEvent.caller.arguments[0];} } var button = document.getElementById("qw");

随机推荐