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比较文档位置
Apr 08 Javascript
javascript复制对象使用说明
Jun 28 Javascript
jquery foreach使用示例
Sep 12 Javascript
JS数组(Array)处理函数整理
Dec 07 Javascript
javascript实现随机读取数组的方法
Aug 03 Javascript
jquery延迟对象解析
Oct 26 Javascript
JS 实现 ajax 异步浏览器兼容问题
Jan 21 Javascript
Bootstrap 3 按钮标签实例代码
Feb 21 Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 jQuery
JavaScript面向对象编程小游戏---贪吃蛇代码实例
May 15 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 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
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
php获取json数据所有的节点路径
2015/05/17 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
Python实现学校管理系统
2018/01/11 Python
python 编写简单网页服务器的实例
2018/06/01 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
高二生物教学反思
2014/01/27 职场文书
后勤主管岗位职责
2014/03/01 职场文书
参观接待方案
2014/03/17 职场文书
养成教育经验材料
2014/05/26 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
护士求职自荐信
2015/03/25 职场文书
JavaScript原型链详解
2021/11/07 Javascript