用jQuery判断当前的按键

 

做web开发的时候,有时候需要根据键盘进行一些操作,例如按下Enter的时候提交表单,禁止用户输入某些特殊字符,设置快捷键等等。这时候需要找出用户按下的是那些按键,写个小程序来测试按键。

 

 1$(document).ready(function(){
 2    var $down = $("#down");
 3    var $press = $("#press");
 4    var $up = $("#up");
 5    $(document).keydown(function(event){
 6        $down.append(String.fromCharCode(event.keyCode) + " ");
 7        if (event.ctrlKey) {
 8            alert("ctrl");
 9        }

10    }
).keyup(function(event){
11        $up.append(String.fromCharCode(event.keyCode) + " ");
12    }
).keypress(function(event){
13        $press.append(String.fromCharCode(event.keyCode) + " ");
14    }
);
15}
);

 

方法是触发down时,把keyCode push到数组里,并删除重复元素;触发up时,用$.grep从数组中删除该keyCode。
在任意时刻,这个数组里都保存了当前所按的按键,并且顺序是根据按键顺序排列的。

可以参考这里:
http://www.keakon.cn/bbs/thread-1301-1-1.html

posted @ 2009-05-22 11:14  七哥  阅读(1154)  评论(0编辑  收藏  举报