jquery键盘事件
2011-11-01 13:55
417 查看
一、首先需要知道的是:
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"); })
更详尽的关于事件的总结和表述:http://hgangok.blog.163.com/blog/static/283527002007102443635514/
w3school上的jQuery 事件参考手册
学习过程中,应该多思考怎样改善交互性和用户体验。
相关文章推荐
- jquery键盘事件全记录
- 使用jquery模拟键盘事件,但window系统并不会真的响应事件,只是浏览器当前页面会响应而已
- JQUERY 键盘事件
- Jquery页面中添加键盘按键事件,如ESC事件
- jquery键盘事件
- jquery 键盘事件
- jquery中键盘事件的使用
- jquery键盘事件全记录
- 深入了解jquery中的键盘事件
- jquery键盘事件
- jquery键盘事件总结
- jquery键盘事件
- jquery 键盘enter事件的小例子
- 10个用来处理键盘事件的JQuery插件和JS类库
- jQuery简单获取键盘事件的方法
- jQuery绑定键盘事件
- jquery keypress,keyup,onpropertychange键盘事件
- jquery快捷动态绑定键盘事件操作函数
- jquery键盘事件使用介绍
- JQuery中如何处理键盘事件