• jQuery Event.which 属性详解


    jQuery Event.which 属性详解

    which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮

    对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮。

    which属性对DOM原生的event.keyCodeevent.charCode进行了标准化。

    适用的事件类型主要有键盘事件:keypress、keydown、keyup,以及鼠标事件:mouseup、mousedown。

    该属性属于jQuery的Event对象(实例)。

    语法

    jQuery 1.1.3 新增该属性。

    eventObject.which

    返回值

    which属性的返回值是Number类型,返回触发当前事件时按下的键盘按键或鼠标按钮。

    mousedown、mouseup事件中,event.which属性返回的是对应鼠标按钮的映射代码值(相当于event.button)。以下是主要的鼠标按钮映射代码对应表。

    event.which属性值对应的鼠标按钮
    1 鼠标左键
    2 鼠标中键(滚轮键)
    3 鼠标右键

    keypress事件中,event.which属性返回的是输入的字符的Unicode值(相当于event.charCode)。以下是常用的字符Unicode代码对应表。更多字符的Unicode代码,请参见完整的ASCII编码表(Unicode兼容ASCII)。

    which属性值(或范围)对应的输入字符
    48 - 57 对应字符 0 - 9
    65 - 90 对应字符 A - Z
    97 - 122 对应字符 a - z

    keydown、keyup事件中,event.which属性返回的是对应按键的映射代码值(相当于event.keyCode)。以下是常用的键盘按键映射代码的对应表:

    which属性值(或范围)对应的键盘按键
    8 Backspace键
    9 Tab键
    13 Enter键
    16 Shift键
    17 Ctrl键
    20 Alt键
    20 Caps Lock键(大小写锁定)
    27 Esc键
    33 - 36 对应按键 PageUp、PageDown、End、Home
    37 - 40 对应按键 左、上、右、下(方向键)
    45 - 46 对应按键 Insert、Delete
    48 - 57 对应按键 0 - 9(非小键盘)
    65 - 90 对应按键 A - Z
    91 Windows键
    96 - 105 对应按键 0 - 9(小键盘)
    106、107、109、110、111 对应按键*、+、-、.、/(小键盘)
    112 - 123 对应按键 F1 - F12

    示例&说明

    请参考下面这段HTML代码:

    <div id="msg"></div>

    event.which属性相关的jQuery示例代码如下(其中表单验证部分的代码仅作简单的非空验证):

    // 为当前文档绑定keydown和mousedown两种事件
    // 检测鼠标按下了那些键
    // 检测键盘按下了那些字母按键
    $(document).bind("keydown mousedown", function(event){
        var msg = '';
        if( event.type == "mousedown" ){ // 鼠标按下事件
            var map = {"1": "左", "2":"中", "3":"右"};
            msg = '你按下了鼠标[' + map[event.which] + ']键';
        }else{ // 键盘按下事件
            if(event.which >= 65 && event.which <= 90){
                msg = '你按下了键盘[' + String.fromCharCode(event.which) + ']键';
            }
        }
        if(msg){
            $("#msg").prepend( msg + '<br>');
        }
    });
  • 相关阅读:
    Emqx启用Redis认证
    写在2021末
    如何让 Spring Security 「少管闲事」
    泛型就这么简单
    Spring Boot 对多线程支持提高程序执行效率
    Java桌面应用JavaFX01Hello World
    PostgreSQL实现Oracle merge into功能
    超大JSON文件解析方案(Java)
    记一次IDEA搭建Spring源码阅读环境
    Oracle转PostgreSQL之start with / connect by
  • 原文地址:https://www.cnblogs.com/zhangwei595806165/p/4456818.html
Copyright © 2020-2023  润新知