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>

  • 相关阅读:
    nyist 541最强DE 战斗力
    nyist 231 Apple Tree
    nyist 543 遥 控 器
    nyist 233 Sort it
    nyist 517 最小公倍数
    hdu 1sting
    nyist A+B Problem IV
    nyist 522 Interval
    nyist 117 求逆序数
    nyist 600 花儿朵朵
  • 原文地址:https://www.cnblogs.com/iwin9999/p/4076928.html
Copyright © 2011-2022 走看看