很多时候,我们需要获取用户的键盘事件,下面就一起来看看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键盘事件的常用方法,很多时候应该也够用了。

深入了解jquery中的键盘事件的更多相关文章

  1. JQuery中如何处理键盘事件

    背景:比如在页面中,敲击回车键以后,实现登录功能,在之前的Winform开发时,也遇到过处理键盘事件的功能,比如游戏软件中,上下左右的移动等. 代码如下: $(document).keydown(fu ...

  2. IOS中input键盘事件支持的解决方法

    欢迎大家去我的网站详细查看http://genghongshuo.com.cn/ IOS中input键盘事件keyup.keydown.等支持不是很好, 用input监听键盘keyup事件,在安卓手机 ...

  3. js便签笔记(6)——jQuery中的ready()事件为何需要那么多代码?

    前言: ready()事件的应用,是大家再熟悉不过的了,学jQuery的第一步,最最常见的代码: jQuery(document).ready(function () { }); jQuery(fun ...

  4. jquery-10 jquery中的绑定事件和解绑事件的方法是什么

    jquery-10 jquery中的绑定事件和解绑事件的方法是什么 一.总结 一句话总结:bind(); unbind(); one(); 1. jquery中的绑定事件和解绑事件的方法是什么? bi ...

  5. jquery 组合键键盘事件

    jQuery处理键盘事件,比如小说网站中常见的按左右键来实现上一篇文章和下一篇文章,按ctrl+回车实现表单提交,google reader和有道阅读中的全快捷键操作... 本文讲述jQuery处理按 ...

  6. jquery中的DOM事件绑定与解绑

    在jquery事件中有时候有的事件只需要在绑定后有效触发一次,当通过e.target判断触发条件有效触发后解除绑定事件,来避免多次无效触发和与未知情况造成冲突. 这时候就要用到了jquery中的事件绑 ...

  7. Qt中的键盘事件,以及焦点的设置(比较详细)

    Qt键盘事件属于Qt事件系统,所以事件系统中所有规则对按键事件都有效.下面关注点在按键特有的部分: focus 一个拥有焦点(focus)的QWidget才可以接受键盘事件.有输入焦点的窗口是活动窗口 ...

  8. jquery中绑定click事件重复执行问题

    jquery中单击事件重复多次执行的问题使用如下方式: $('#sub').unbind('click').click(function () { ... });

  9. jQuery中四种事件监听的区别

    原文链接:点我 我们知道jquery提供了四种事件监听方式,分别是bind.live.delegate.on,下面就分别对这四种事件监听方式分析. 已知有4个列表元素: 列表元素1 列表元素2 列表元 ...

随机推荐

  1. 我所理解的 KMP(Knuth–Morris–Pratt) 算法

    假设要在 haystack 中匹配 needle . 要理解 KMP 先需要理解两个概念 proper prefix 和 proper suffix,由于找到没有合适的翻译,暂时分别称真实前缀 和 真 ...

  2. 网络基础(一)ARP!!!

    ARP,Address Resolution Protocol,地址解析协议,用于IP到MAC地址的映射(知道ip得到mac),实现数据的封装过程.ARP是在Ethernet以上,所以是属于网络层   ...

  3. SqlCommand对象

    SqlCommand对象以及如何使用它与数据库交互 1.什么是command对象2.如何使用ExecuteReader方法查询数据3.如何使用ExecuteNonQuery方法插入和删除对象4.如何使 ...

  4. 小物件之radio单选列表

    有时候在控制器中做了一个数组 然后需要在模板view中循环 同时还需要判断是否有选中的值,就会造成很多开始闭合标签 以前都是这样写 这样实在太繁琐了,不如封装一个小物件 封装函数如下: 代码如下: f ...

  5. JDBC连接MySQL数据库

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  6. nodejs保存文件的问题

    从前端到那里jar包失败: 保存到本地管理机jar包md5sum上传正确的值md5sum值不相等.并上传 处理 没有错误,说明保存过程中的错误: 前面是base64然后转码后jar包内容放进reque ...

  7. 系统性能优化分析—CPU消耗

    http://blog.csdn.net/longdel/article/details/7296446

  8. TCP/IP 编程

    http://www.cnblogs.com/ggjucheng/archive/2012/08/18/2645324.html

  9. 使用JAXB来实现Java合xml之间的转换

    使用jaxb操作Java与xml之间的转换非常简单,看个例子就明白了. //javaBean-->xml @Test public void test1() { try { JAXBContex ...

  10. plupload使用指南(转)

    转自http://www.cnblogs.com/2050/p/3913184.html 现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SWFUpload显然就有点过时了,毕 ...