jquery中键盘事件的使用

2014-01-20阅读(7532)评论(0)牵着狗狗看MM

苏州实时公交查询

很多时候,我们需要获取用户的键盘事件来进行方便的前端交互,下面就一起来看看jquery是如何操作键盘事件的。

一、首先需要知道的是:
1、keydown()

keydown事件会在键盘按下时触发.

2、keyup()

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

3、keypress()

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

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

$(document).keydown(function(event){ 
        console.log(event.keyCode);
});

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

三、实例(当按下键盘上的左右方面键时)

$(document).keydown(function(event){
 
    //判断当event.keyCode 为37时(即左方面键),执行函数to_left();
 
    //判断当event.keyCode 为39时(即右方面键),执行函数to_right();
 
    if(event.keyCode == 37){
 
       //do something;
    }else if (event.keyCode == 39){
       //do something;
    }
});

实例研究:
比如:小说网站中常见的按左右键来实现上一篇文章和下一篇文章;按ctrl+回车实现表单提交;google reader和有道阅读中的全快捷键操作…(以此提高用户体验)

实现ctrl+Enter就是ctrl+回车提交表单:

$(document).keypress(function(event) {
 
      if (event.ctrlKey && event.which == 13)
 
     $("form:first").trigger("submit");
 
 })

监测ctrl按键:

$(document).keydown(function(event){
 
       //(ctrlKey和metaKey等效:都是监测)按下ctrl返回turn,按下非ctrl键返回false;
 
       console.log(event.ctrlKey);
 
       //console.log(event.metaKey);         
 
})

键盘系列操作

$(document).keydown(function(event){ 
    var e = event || window.event;     
    var k = e.keyCode || e.which;  //获取按键的acdII 码
    switch(k) {
       case 37:
           //…
           break;
       case 39:
           //…
           break;
    }
    return false;
})

其他有用的场景

//另外发现一个应用的方法:当页面转载完成的时候,第一个表单元素获得焦点,以便输入
 
$("input[type=text]:first").trigger("focus");    
 
//当表单没获得焦点,但用户却按下键盘的时候,自动为用户定位焦点到输入框上
 
$(document).keydown(function(){
 
       $("input[type=text]:first").trigger("focus");
 
})

以上是列出了jquery键盘事件的常用方法,大多数时候也够用了。

赞(0)
转载请注明来源:Web前端(W3Cways.com) - Web前端学习之路 » jquery中键盘事件的使用
分享到: 更多 (0)