jquery中获取键盘按键

JQuery 1827 0 2015-10-24

jquery中获取键盘按键

按ESC键的时候关闭弹出层的效果,一开始用的是keypress,可这个在chrome下面的时候不起作用,后来用keyup来做就可以了,jquery中获取键盘按键,可以使用which属性来获取按键的值,但是,不是所有的按键事件都能被捕获到其按键值(keyup,keypress,keydown),经过测试,只有keyup事件才能在够被几乎所有的浏览器捕获按键值,keydown在IE6中不起作用。

测试浏览器:IE6/IE7/IE8,FireFox,Chrome,Opera

$(document).keyup(function(e){
var key = e.which;
if(key == 27){

alert('按下了ESC键,关闭弹出层');
}
});

或者(这个只在:IE8,FireFox,Chrome测试过)

$(document).keyup(function(e){

if (e.keyCode == 27) 
{
alert('按下了ESC键,关闭弹出层');
}

})

上一篇:jquery跟随鼠标的提示框,很简单的代码实现哦~

下一篇:Jquery UI应用的一些记录,需要的朋友拿走不谢~——~

讨论数量:2

天涯网魂 3 杠 5 星2015-10-24 09:11:30

jquery获取键盘值代码

<script type="text/javascript"> 
<!--
function keyUp(e) {
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
var keyName = String.fromCharCode(currKey);
    alert("按键码: " + currKey + " 字符: " + keyName);
}
document.onkeyup = keyUp;
-->
</script>

天涯网魂 3 杠 5 星2015-10-24 09:10:29

一、首先需要知道的是:

1、keydown()
keydown 事件会在键盘按下时触发。

2、keypress()
keypress 事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键。

3、keyup()
keyup 事件会在按键释放时触发,也就是你按下键盘起来后的事件。

二、获得键盘上对应的 ascII 码:

1
2
3
4
//键码获取
$(document).keydown(function (event) {
    alert(event.keyCode);
});

上面例子中,event.keyCode 就可以帮助我们获取到我们按下了键盘上的什么按键,他返回的是 ascII 码,比如说上下左右键,分别是38,40,37,39;

三、实例:

比如:小说网站中常见的按左右键来实现上一篇文章和下一篇文章;
按 ctrl+enter 实现表单提交(以此提高用户体验);
如果我们要实现 ctrl+enter 提交表单,可以这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//键盘操作
$(document).keydown(function (event) {
    if (event.ctrlKey && event.keyCode == 13) {
        alert('Ctrl+Enter');
    };
    switch (event.keyCode) {
    case 37:
        alert('方向键-左');
        break;

请先登录再发表讨论。 2024-03-29

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链