jquery利用event.which方法获取键盘输入值的代码

2014-09-04  来源:本站原创  分类:jquery  人气:2 

jquery利用event.which方法获取键盘输入值的代码,需要的朋友可以参考下。

实例
显示按了哪个键:
$("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.jb51.net/jslib/jquery/jquery-1.6.1.js"></script>
<script type="text/css">
$(document).click(function(e){
alert(e.which);
})
</script>
</head>
<body>
</body>
</html>
相关文章
  • jquery利用event.which方法获取键盘输入值的代码 2014-09-04

    jquery利用event.which方法获取键盘输入值的代码,需要的朋友可以参考下. 实例 显示按了哪个键: $("input").keydown(function(event){ $("div").html("Key: " + event.which); }); 亲自试一试 定义和用法 which 属性指示按了哪个键或按钮. 语法 event.which参数 描述 event 必需.规定要检查的事件.这个 event 参数来自事件绑定函数.

  • jquery的event对象无法获取offsetX的值 2013-05-30

    jquery 的事件对象 event 没有 offsetX(IE)/layerX(Firefox) 属性,这是因为 jquery 的 event 对象里是再次封装的 ,而不是原生的event对象了 ,要是你想访问原来的 event 对象,可以用 originalEvent 属性:event.originalEvent.offsetX/layerX,这样就可以得到这两个属性了. 关于 offsetX 和 layerX 的差别请参考这篇文章: http://my.codeweblog.com/ban

  • 载入jQuery库的最佳方法详细说明及实现代码 2015-04-14

    网站开发的项目中使用Google CDN的jQuery库虽然加载速度很快,但调用本地服务器的库才可以确保万无一失,接下来介绍载入jQuery库的最佳方法,感兴趣的朋友可以研究下 由于目前Google的不稳定,而国内没有好的同类服务,故这已不是最优方案.当然,你把Google库路径换成国内稳定且快速的路径(如果存在),依然可以受用此方法带来的各种好处.即便如此,综合考虑的话,还是Google的最合适. 网站开发的项目中使用Google CDN的jQuery库虽然加载速度很快,但调用本地服务器的库才

  • jquery 利用show和hidden实现级联菜单示例代码 2013-11-28

    级联菜单的实现方法有很多,在本文为大家介绍下使用show和hidden轻松实现下级联效果,感兴趣的朋友可以参考下,希望对大家有所帮助 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional

  • jquery attr方法获取input的checked属性问题 2014-09-01

    如果使用jquery,应使用prop方法来获取和设置checked属性,不应使用attr,需要的朋友可以参考下 问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase <input type="checkbox" id="selectAll"

  • js 获取键盘值用法(兼容IE及Firefox) 2014-12-25

    用了获取键盘值的代码. //Javascript Document 请按任意一个键.... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • jquery中event对象属性与方法小结 2013-11-06

    本篇文章主要是对jquery中的event对象属性与方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 JQuery读书笔记?Event属性说明 JQuery事件中的Event属性是经常性的被忽略的.大多数时间你的确不怎么用它,但有些时候它还是它还是有作用的.如获知触发时用户的环境(是否按了shift etc).每个浏览器对event都有不同的地方,Jquery对Event做了标准化所以可以放心用. * .target 这个反应触发事件的DOM对象,可以在事件冒泡的时候判断是

  • 利用jQuery的$.event.fix函数统一浏览器event事件处理 2014-02-11

    做WEB前端开发的人都知道不同的浏览器对事件的处理方式是有区别的. 比如得到触发事件的元素引用在IE浏览器下是:event.srcElement,在FF浏览器下则是:event.target,另外又比如在FF浏览器下得到光标相对页面的位置是event.pageX,而IE浏览器下的处理方式又是不一样的,当然还有一些像"阻止事件冒泡"以及"取消浏览器默认行为"等,不同浏览器也有不同的处理方式,如果我们要使JavaScript在不同的浏览器下能正常处理事件代码,就要分别进

  • 利用js(jquery)操作Cookie的方法说明 2013-10-13

    本篇文章主要是对利用js(jquery)操作Cookie的方法进行了详细的说明介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Cookie操作是我们在Web开发中经常会用到的功能,以往我们一般是通过javascript实现的.下面这款jquery插件是专门用来进行cookie操作 的,包括cookie的添加.清除.读取-- 你可以在这款插件的主页下载到它:http://jquery.com/ 当在页面中引用了jquery文件及该插件文件后,可进行如下操作: 设置cookie 设置一个名称为b

  • jquery利用ajax调用后台方法实例 2014-01-21

    这篇文章介绍了jquery利用ajax调用后台方法实例,有需要的朋友可以参考一下 语法: $(function(){ var callback = function(r){ //r表示后台数据返回的数据. } $.get("",callback); //引号里面写方法的路径 }); 这样就可以得到后台方法得到的数据显示在html前端了. 以下是工作中写的一段js和后台方法: js: 复制代码 代码如下: $(function(){ var callback = function (r)

  • jQuery.position()方法获取不到值的安全替换方法 2015-03-12

    这篇文章主要介绍了jQuery.position()方法获取不到值的安全替换方法,本文给出了一种变通的方法,用.offset()来换算,需要的朋友可以参考下 调用jQuery.position()方法会返回相对于父元素的位置,jQuery官方文档中描述说,它跟.offset()方法不一样,.offset()返回的是相对于document的位置,而.position()返回的是相对于父元素的位置. 但事实上,在使用的过程中,我们发现.position()返回的值经常是0.但事实不是0.尤其是谷歌浏

  • jquery利用命名空间移除绑定事件的方法 2015-03-20

    这篇文章主要介绍了jquery利用命名空间移除绑定事件的方法,实例分析了jQuery命名空间及事件绑定的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery利用命名空间移除绑定事件的方法.分享给大家供大家参考.具体分析如下: 最近研究jquery,发现了一个简单移除绑定事件的方法,命名空间. 例子很简单. 这里我绑定了三个事件,分别是click,mouseover和dblclick事件 其中click和mouseover事件我加入了命名空间,而dblclick没有加入命名

  • Jquery中Event对象属性小结 2014-02-13

    这篇文章主要介绍了Jquery中Event对象属性的操作方法的总结,非常的详细,是篇十分不错的文章,这里推荐给大家. JS的Event对象是触发事件的时候传递给事件处理函数的一个对象,这个对象中存在触发事件的基本信息.如:触发事件的事件源.键盘码(如果存在)等基本信息. 1.通过event.type获取事件的类型 <script> $(function(){ $("a").click(function(event) { alert(event.type);//获取事件类型

  • asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码 2014-04-24

    本篇文章主要是对asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码进行了介绍,需要的朋友可以过来参考下,需要对大家有所帮助 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxJson.aspx.cs" Inherits="AjaxJson" %> <!DOCTYPE html PUBLIC "-//W3C

  • jquery sortable的拖动方法示例详解 2014-05-26

    本文以示例的方式为大家介绍下jquery sortable的拖动方法的具体实现,感兴趣的朋友可以参考下 所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象 ui.helper - 表示sortable元素的JQuery对象,通常是当前元素的克隆对象 ui.position - 表示相对当前对象,鼠标的坐标值对象{top,left} ui.offset - 表示相对于当前页面,鼠标的坐标值对象{top,left} ui.item - 表示当前拖拽的元素

  • js/jquery判断浏览器的方法小结 2014-12-22

    在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把各种判断方法都总结一下,希望对大家有所帮助 JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持:navigator.javaEnabled() MIM

  • jquery.validate 自定义验证方法 2012-02-14

    jquery.validate 自定义验证方法 $(document).ready( function() { /** * 身份证号码验证 * */ function isIdCardNo(num) { var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); var parityBit=new Array("1","0","X","9","8

  • js与jquery回车提交的方法 2013-10-05

    这篇文章主要介绍了js与jquery回车提交的方法,实例分析了js与jQuery中监测及相应回车键实现提交的技巧,需要的朋友可以参考下 本文实例讲述了js与jquery回车提交的方法.分享给大家供大家参考.具体如下: 1.JavaScript 方法: <script> document.onkeydown=function(event){ e = event ? event :(window.event ? window.event : null); if(e.keyCode==13){ //

  • ThinkPHP框架任意代码执行漏洞的利用及其修复方法 2013-10-16

    这篇文章主要介绍了ThinkPHP框架任意代码执行漏洞的利用及其修复方法,该漏洞的修复对于广大使用ThinkPHP的开发人员来说尤为重要!需要的朋友可以参考下 ThinkPHP是国内著名的开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结 构和MV

  • jquery数组封装使用方法分享(jquery数组遍历) 2013-12-26

    JQuery对数组的处理非常便捷并且功能强大齐全,一步到位的封装了很多原生js数组不能企及的功能.下面来看看JQuery数组的强大之处在哪. $.each(array, [callback]) 遍历 不同于例遍 jQuery 对象的 $.each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略. each遍历,相信都不陌生,在