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 相关文章推荐
妙用Jquery的val()方法
Jun 27 Javascript
多引号嵌套的变量命名的问题
May 09 Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
Aug 18 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
js时间戳和c#时间戳互转方法(推荐)
Feb 15 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
js常用正则表达式集锦
May 17 Javascript
vue学习笔记之作用域插槽实例分析
Feb 01 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 Javascript
javascript实现贪吃蛇小游戏
Jul 28 Javascript
vuex的使用步骤
Jan 06 Vue.js
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电台频率大全 - 11 浙江省
2020/03/11 无线电
第十五节--Zend引擎的发展
2006/11/16 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
vue.js 获取当前自定义属性值
2017/06/01 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
angular动态表单制作
2018/02/23 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
TensorFlow实现RNN循环神经网络
2018/02/28 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
自我评价如何写好?
2014/01/05 职场文书
小学母亲节活动方案
2014/03/14 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
事业单位聘任报告
2015/03/02 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书