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 导出数据到Excel(处理table中的元素)
Dec 18 Javascript
3款实用的在线JS代码工具(国外)
Mar 15 Javascript
javaScript 计算两个日期的天数相差(示例代码)
Dec 27 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
Mar 20 Javascript
使用jquery实现仿百度自动补全特效
Jul 23 Javascript
JS截取与分割字符串常用技巧总结
Nov 10 Javascript
Sea.JS知识总结
May 05 Javascript
浅谈javascript的url参数parse和build函数
Mar 04 Javascript
angularjs封装$http为factory的方法
May 18 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
Jul 17 Javascript
JS+canvas绘制的动态机械表动画效果
Sep 12 Javascript
JavaScript异步操作的几种常见处理方法实例总结
May 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之Smarty入门
2007/01/04 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
php的字符串用法小结
2010/06/08 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
php use和include区别总结
2019/10/13 PHP
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
vue实现评价星星功能
2020/06/30 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
python列表去重的二种方法
2014/02/14 Python
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
建筑专业毕业生推荐信
2013/11/21 职场文书
大学生职业生涯规划书的基本内容
2014/01/06 职场文书
幼儿园新年寄语
2014/04/03 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
会计工作检讨书
2015/02/19 职场文书
2015年班干部工作总结
2015/04/29 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
Golang中异常处理机制详解
2021/06/08 Golang