jquery利用event.which方法获取键盘输入值的代码


Posted in Javascript onOctober 09, 2011

实例
显示按了哪个键:
$("input").keydown(function(event){
$("div").html("Key: " + event.which);
});
亲自试一试
定义和用法
which 属性指示按了哪个键或按钮。
语法
event.which参数 描述
event 必需。规定要检查的事件。这个 event 参数来自事件绑定函数。
jQuery丢弃了标准的 button 属性采用 which,这有点让人费解。
which 是Firefox引入的,IE不支持。which的本意是获取键盘的键值(keyCode)。
jQuery中的which即可以是键盘的键值,也可以是鼠标的键值。
即当判断用户按下键盘的哪个键时可以使用which,当判断用户按下鼠标的哪个键时也可以用which。它一举两用了。
源码:

// Add which for key events 
if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { 
event.which = event.charCode != null ? event.charCode : event.keyCode; 
} 
// Add which for click: 1 === left; 2 === middle; 3 === right 
// Note: button is not normalized, so don't use it 
if ( !event.which && event.button !== undefined ) { 
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); 
}

标准的button采用0,1,2表示鼠标的左,中,右键。jQuery的which则使用用1,2,3。
还有一点让人不爽的是jQuery文档 event.which 中并没有提到which可以表示鼠标按键值,只提到了表示键盘按键值。
源码中的注释也让人误解。
// Add which for click: 1 === left; 2 === middle; 3 === right
注意这里说的是click ,很容易让人使用click 事件,但实际上click事件中获取是错误的。
下面就用 click 事件试试:
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"/> 
<title></title> 
<script src="http://demo.3water.com/jslib/jquery/jquery-1.6.1.js"></script> 
<script type="text/css"> 
$(document).click(function(e){ 
alert(e.which); 
}) 
</script> 
</head> 
<body> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript创建命名空间(namespace)的最简实现
Dec 11 Javascript
jQuery-ui中自动完成实现方法
Jun 10 Javascript
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
动态改变div的z-index属性的简单实例
Aug 08 Javascript
jQuery实现图片走马灯效果的原理分析
Jan 16 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
Jan 10 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
Mar 22 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
js生成word中图片处理方法
Jan 06 Javascript
javascript实现摄像头拍照预览
Sep 30 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
vue 移动端记录页面浏览位置的方法
Mar 11 Javascript
javascript之bind使用介绍
Oct 09 #Javascript
javascript之querySelector和querySelectorAll使用说明
Oct 09 #Javascript
使用jQuery操作Cookies的实现代码
Oct 09 #Javascript
jQuery实现切换页面布局使用介绍
Oct 09 #Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
Oct 08 #Javascript
关于jQuery的inArray 方法介绍
Oct 08 #Javascript
imgAreaSelect 中文文档帮助说明
Oct 08 #Javascript
You might like
PHP的引用详解
2015/02/22 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
DOM 基本方法
2009/07/18 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
Python Tkinter简单布局实例教程
2014/09/03 Python
python使用正则表达式提取网页URL的方法
2015/05/26 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
什么是python的函数体
2020/06/19 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
应届生法律求职信
2013/10/22 职场文书
办公室经理岗位职责
2014/01/01 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android