zoukankan      html  css  js  c++  java
  • jquery利用event.which方法获取键盘输入值的代码

    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>

  • 相关阅读:
    JavaScript实现Map、Reduce和Filter
    Javascript常用对象的属性和方法
    自己封装的Ajax
    JavaScript函数调用规则
    JavaScript模板引擎使用
    java 简单贪吃蛇
    java邮件发送(含附件)
    java 读写Oracle Blob字段
    java 连接飞信API
    非常棒的Java REST服务器栈
  • 原文地址:https://www.cnblogs.com/iwin9999/p/4076928.html
Copyright © 2011-2022 走看看