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 变量作用域 代码分析
Jun 26 Javascript
做好七件事帮你提升jQuery的性能
Feb 06 Javascript
jquery中$(#form :input)与$(#form input)的区别
Aug 18 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
jQuery Html控件基本操作(日常收集整理)
Mar 11 Javascript
jquery div模态窗口的简单实例
May 28 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
javascript字体颜色控件的开发 JS实现字体控制
Nov 27 Javascript
小程序中canvas的drawImage方法参数使用详解
Jul 04 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
Sep 07 Javascript
微信小程序实现上拉加载功能
Nov 20 Javascript
使用JS location实现搜索框历史记录功能
Dec 23 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中chdir()函数用法实例
2014/11/13 PHP
PHP多线程类及用法实例
2014/12/03 PHP
深入理解PHP 数组之count 函数
2016/06/13 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
python使用递归解决全排列数字示例
2014/02/11 Python
Python3搜索及替换文件中文本的方法
2015/05/22 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
python Zmail模块简介与使用示例
2020/12/19 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
越南综合购物网站:Lazada越南
2019/06/10 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
教师实习自我鉴定
2013/12/18 职场文书
公司薪酬管理制度
2014/01/31 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
实习推荐信
2014/05/10 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
教师学期个人总结
2015/02/11 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python