jQuery处理键盘事件,比如小说网站中常见的按左右键来实现上一篇文章和下一篇文章,按ctrl+回车实现表单提交,google reader和有道阅读中的全快捷键操作...
本文讲述jQuery处理按键的原理和方法
jQuery处理键盘事件有三个函数,根据事件发生的顺序分别是:
1 |
keydown(); |
2 |
keyup(); |
3 |
keypress(); |
keydown()
keydown事件会在键盘按下时触发,可以在绑定的函数中欧能够返回false来防止触发浏览器的默认事件.
keyup()
keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件
keypress()
keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键
我们怎么才能获取我按下的是A还是Z还是回车按钮呢?
键盘事件可以传递一个参数event,其实说有的jQuery事件函数中都可以传递这么一个参数
1 |
$( 'input' ).keydown( function (event){ |
2 |
alert(event.keyCode); |
3 |
}); |
上面代码中的,event.keyCode就可以帮助我们获取到我们按下了什么按键,他返回的是ascII码,比如说上下左右键,分别是38,40,37,39
如果我们要实现ctrl+Enter就是ctrl+回车提交表单
1 |
$(document).keypress( function (e) { |
2 |
if (e.ctrlKey && e.which == 13) |
3 |
$( "form" ).submit(); |
4 |
}) |