`

KeyDown,KeyPress 和KeyUp

    博客分类:
  • js
js 
阅读更多
最近在做一个程序,需要实现窗口下的F5 刷新功能。

研究了一下KeyDown,KeyPress 和KeyUp ,发现之间还是有点学问的。

让我们带着如下问题来说明,如果你看到这些问题你都知道,那么这篇文章你就当复习吧:)

1.这三个事件的顺序是怎么样的?

2.KeyDown 触发后,KeyUp是不是一定触发?

3.三个事件的定义

4.KeyDown、KeyUp 和KeyPress 之间的区别

5.如何区分是否按的是小键盘?

6.PrScrn按键三个事件能够捕获吗?

7.{菜单键}和{开始键}KeyPress能够捕获吗?

8.如何捕获系统的组合键?

9.通过什么方式捕获PrScrn按键事件?

(一)键事件按下列顺序发生:

KeyDown

KeyPress

KeyUp

(二)KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。

(三)定义

KeyDown:在控件有焦点的情况下按下键时发生。

KeyPress:在控件有焦点的情况下按下键时发生。(下面会说和KeyDown 的区别)

KeyUp:在控件有焦点的情况下释放键时发生。

(四)KeyPress 和KeyDown 、KeyPress之间的区别

           1.KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符
             KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)

            2.KeyPress 只能捕获单个字符

                KeyDown 和KeyUp 可以捕获组合键。

           3.KeyPress 可以捕获单个字符的大小写

           4.KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。

           5.KeyPress 不区分小键盘和主键盘的数字字符。

                KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。

           6.其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。

(五)系统组合键的判定

在使用键盘的时候,通常会使用到CTRL+SHIFT+ALT 类似的组合键功能。对于此,我们如何来判定?

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

   (六)捕获PrScrn按键事件

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

相关推荐

    javascript KeyDown、KeyPress和KeyUp事件的区别与联系

    1、KeyPress主要用来接收字母、数字等ANSI字符 KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键 2、KeyPress 只能捕获单个字符 KeyDown 和KeyUp 可以捕获组合键。...

    C#WinForm中的KeyDownKeyPress和KeyUp事件相关知识点

    ### C# WinForm中的KeyDown, KeyPress和KeyUp事件相关知识点 #### 一、按键的类型与识别 在C# WinForm应用中,处理用户的键盘输入是常见需求之一。Windows窗体通过引发键盘事件来响应用户的键盘操作。这些事件主要...

    WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析

    在WinForm应用开发中,处理键盘输入事件时,常常会遇到`KeyDown`、`KeyPress`和`KeyUp`这三个事件。了解它们之间的顺序和差异对于编写响应用户输入的代码至关重要。以下是对这三个事件的详细解析: 1. **顺序**: ...

    jquery 键盘事件 keypress() keydown() keyup()用法总结

    3. keypress事件主要用来接收字母、数字等ANSI字符,而keydown和keyup事件过程可以处理不被keypress识别的击键,如功能键(F1-F12)、编辑键、定位键以及这些键和键盘换档键的组合等。 特别地,在处理组合键如Ctrl+...

    输入法的回车与消息发送快捷键回车的冲突解决方法

    keydown事件发生在按键被按下的时候,接着触发keypress,松开按键的时候触发keyup事件 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chrome:输入触发keydown、keyup,回车确认输入只触发keydown ...

    jquery keypress,keyup,onpropertychange键盘事件

    `keyup`和`keydown`事件都可用于非打印键,但`keyup`更适合于响应用户输入的结束。 3. **`onpropertychange`事件**: `onpropertychange`是Internet Explorer特有的事件,用于检测DOM元素属性的变化,包括文本框...

    js键盘事件全面控制_兼容FireFox和IE

    JS 键盘事件可以分为三种类型:keydown、keypress 和 keyup,它们分别对应 onkeydown、onkeypress 和 onkeyup 这三个事件句柄。在这三个事件类型中,keydown 和 keyup 比较底层,而 keypress 比较高级。 浏览器的...

    javascript 按键事件(兼容各浏览器)

    在本文中,我们首先介绍了JavaScript中处理键盘按键事件的三种不同类型的事件:keydown、keypress和keyup,以及它们对应的事件句柄onkeydown、onkeypress和onkeyup。这些事件类型在处理按键时是有顺序和差异的:首先...

    最全面的按键精灵教程.pdf

    其他命令是按键精灵教程的补充部分,包括GetLastKey、KeyDown、KeyPress、KeyUp和WaitKey等知识点: 1. GetLastKey:获取最后按下的键的ASCII码。 2. KeyDown:检测键盘按键的状态。 3. KeyPress:模拟键盘按键的...

    浅谈js键盘事件全面控制

    首先,我们需要明确浏览器中与键盘事件相关的主要类型,它们分别是keydown、keypress和keyup事件。keydown事件在按键按下时触发,而keypress事件紧随其后,在按键被按下并能够产生可打印字符时触发。keyup事件则在...

    js 键盘记录实现(兼容FireFox和IE)

    用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydown,keypress,...

    node-keyupdown:[实验] 在 nodejs 上模拟 keyup 和 keydown

    在 nodejs 上模拟 keyup 和 keydown。 样本 var keydownup = require ( "./index" ) keydownup ( process . stdin ) process . stdin . on ( 'keydown' , function ( ) { console . log ( "keydown" ) } ) ...

    深入理解JQuery keyUp和keyDown的区别

    `keyup`和`keydown`是两种常见的键盘事件,它们都与用户的按键操作紧密相关,但触发的时机有所不同。本文将深入探讨这两者的差异以及它们在实际应用中的作用。 `keydown`事件在用户按下键盘上的任意键时触发,它...

    利用Keydown事件阻止用户输入实现代码

    KeyDown 和 KeyUP 事件过程通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键 2、KeyPress 只能捕获单个字符,KeyDown 和KeyUp 可以捕获组合键。 3、KeyPress 不显示键盘的物理状态(SHIFT键),而...

    C#资源键盘对应asc

    在C#中,键盘事件通常通过控件(如Form或TextBox)的键盘事件处理程序来捕获,如KeyDown、KeyPress和KeyUp事件。这些事件提供了关于用户按下或释放键盘键的信息。例如,`KeyDown`事件会在按键被按下时触发,`KeyUp`...

    使用JS监听键盘按下事件(keydown event)

    首先,我们需要了解JavaScript中的键盘事件主要有三个:keydown、keypress和keyup。其中,keydown事件在用户按下键盘上的任意键时触发,keypress事件在按键被按下并产生字符时触发,keyup事件则在键盘键被释放时触发...

    VB程序设计第十一章PPT教案学习.pptx

    这样,窗体会先处理KeyPress、KeyUp和KeyDown事件,然后再由控件处理。 5. **应用实例**: - 示例11-1演示了如何在Text1的KeyPress事件中,将输入的英文字符转换为大写并显示在Label1中。 - 示例11-2展示了如何...

    treeview是主要用来建立进化树的

    TreeView 控件响应一些我们觉的VFP 控件的方法和事件: Click, DblClick, Drag, DragDrop, DragOver, GotFocus, KeyDown, KeyPress, KeyUp, LostFocus, MouseDown, MouseMove, MouseUp, Move, Refresh, SetFocus, ...

Global site tag (gtag.js) - Google Analytics