zoukankan      html  css  js  c++  java
  • js keyup、keypress和keydown事件

     

    js keyup、keypress和keydown事件都是有关于键盘的事件

    当一个按键被pressed 或released在每一个现代浏览器中,都可能有三种客户端事件。

    1. keydown event
    2. keypress event
    3. keyup event

    keydown事件发生在键盘的键被按下的时候,接下来触发keypress事件。 keyup 事件在按键被释放的时候触发。

    这三个事件在页面中的使用方法如下例:

    <input id="testkeyevent" name="testkeyevent"  onKeyUp="keyup()" />

    <input id="testkeyevent" name="testkeyevent"   onkeypress="keypress()" />

    <input id="testkeyevent" name="testkeyevent"   onkeydown="keydown()" />

     

    对应的js函数:

    function keyup(){ ...}

    function keypress(){ ...}

    function keydown(){ ...}

     

    注意:

    1. KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。
    2. KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符
    3. KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)
    4. KeyPress 只能捕获单个字符
    5. KeyDown 和KeyUp 可以捕获组合键。
    6. KeyPress 可以捕获单个字符的大小写
    7. KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。
    8. KeyPress 不区分小键盘和主键盘的数字字符。
    9. KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。
    10. 其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。
    11. 在使用键盘的时候,通常会使用到CTRL+SHIFT+ALT 类似的组合键功能。对于此,我们如何来判定?

           通过KeyUp 事件能够来处理(这里说明一下为什么不用KeyDown,因为在判定KeyDown的时候,CTRL、SHIFT和ALT 属于一直按下状态,然后再加另外一个键是不能准确捕获组合键,所以使用KeyDown 是不能准确判断出的,要通过KeyUp 事件来判定 )

           这里简单的列举出CTRL+其它键的组合判定代码:


      private void Form3_KeyUp(object sender, KeyEventArgs e)
      {
      if (e.Control)
      {
      MessageBox.Show("KeyUp:Ctrl+" + e.KeyValue.ToString());
      }
      }
    12. 捕获PrScrn按键事件

       通过一种钩子的方式可以判定PrScrn 按键事件,钩子可以获取任何键盘事件。

       

    本文转自 博客园 码农小兵   原文链接:https://www.cnblogs.com/manongxiaobing/archive/2012/11/05/2755412.html

    以下是一些键盘上的键对应的Code:以下是一些键盘上的键对应的Code 

     

    键盘按键                               对应的数码

    backspace 8
    tab 9
    enter 13
    shift 16
    ctrl 17
    alt 18
    pause/break 19
    caps lock 20
    escape 27
    page up 33
    Space 32
    page down 34
    end 35
    home 36
    arrow left 37
    arrow up 38
    arrow right 39
    arrow down 40
    insert 45
    delete 46
    0 48
    1 49
    2 50
    3 51
    4 52
    5 53
    6 54
    7 55
    8 56
    9 57
    a 65
    b 66
    c 67
    d 68
    e 69
    f 70
    g 71
    h 72
    i 73
    j 74
    k 75
    l 76
    m 77
    n 78
    o 79
    p 80
    q 81
    r 82
    s 83
    t 84
    u 85
    v 86
    w 87
    x 88
    y 89
    z 90
    left window key 91
    right window key 92
    select key 93
    numpad 0 96
    numpad 1 97
    numpad 2 98
    numpad 3 99
    numpad 4 100
    numpad 5 101
    numpad 6 102
    numpad 7 103
    numpad 8 104
    numpad 9 105
    multiply 106
    add 107
    subtract 109
    decimal point 110
    divide 111
    f1 112
    f2 113
    f3 114
    f4 115
    f5 116
    f6 117
    f7 118
    f8 119
    f9 120
    f10 121
    f1

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    python 3.x报错:No module named 'cookielib'或No module named 'urllib2'
    Xshell实现Windows和使用跳板机跳转的远程Linux互传文件
    Linux scp常用命令
    正则表达式
    [NBUT 1458 Teemo]区间第k大问题,划分树
    [hdu5416 CRB and Tree]树上路径异或和,dfs
    [vijos P1008 篝火晚会]置换
    [hdu5411 CRB and Puzzle]DP,矩阵快速幂
    [hdu4713 Permutation]DP
    [hdu4710 Balls Rearrangement]分段统计
  • 原文地址:https://www.cnblogs.com/wehome/p/10179981.html
Copyright © 2011-2022 走看看