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 相关文章推荐
番茄的表单验证类代码修改版
Jul 18 Javascript
jquery select下拉框操作的一些说明
Apr 02 Javascript
JQuery防止退格键网页后退的实现代码
Mar 23 Javascript
js实现鼠标悬浮给图片加边框的方法
Jan 30 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
jQuery图片左右滚动代码 有左右按钮实例
Jun 20 Javascript
ES6中Math对象新增的方法实例详解
Apr 25 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
Express的HTTP重定向到HTTPS的方法
Jun 06 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
Nov 08 Javascript
el-select数据过多懒加载的解决(loadmore)
May 29 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&amp;&amp;mysql)三
2006/10/09 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
javascript new 需不需要继续使用
2009/07/02 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
jquery实现简单自动轮播图效果
2020/07/29 jQuery
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
Django--权限Permissions的例子
2019/08/28 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
ORACLE十问
2015/04/20 面试题
外贸业务员求职自荐信分享
2013/09/21 职场文书
高中毕业生自我鉴定范文
2013/09/26 职场文书
法学专业毕业生自荐信范文
2013/12/18 职场文书
高一历史教学反思
2014/01/13 职场文书
烹调加工管理制度
2014/02/04 职场文书
中秋手机店促销方案
2014/06/16 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
2015年化工厂工作总结
2015/05/04 职场文书