精华内容
下载资源
问答
  • jQuery判断一个按键是否按下

    千次阅读 2019-09-12 09:48:12
    在jQuery中可以使用keypress()方法来判断一个按键按键是否按下。jQuery中的keypress()方法在浏览器进行键盘输入时触发按键事件。因此,使用keypress()方法可以检测是否按下了任何键。 语法: 触发所选元素的...

    在jQuery中可以使用keypress()方法来判断一个按键按键是否被按下。jQuery中的keypress()方法在浏览器进行键盘输入时触发按键事件。因此,使用keypress()方法可以检测是否按下了任何键。

     

    语法:

    触发所选元素的按键事件:

    $(selector).keypress()

    要将函数附加到按键事件:

    $(selector).keypress(function)

    示例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    	</head>
    
    	<body>
    		<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    		<script>
    			$(document).keypress(function(event) {
    
    				alert('你按了一个键');
    			});
    		</script>
    	</body>
    
    </html>

    运行代码,任意在键盘中按下一个键:

    d1dd16f2f34cbfd498d03e22f870000.png


    本文参考地址:https://www.html.cn/qa/jquery/10505.html

    展开全文
  • 先送列为低电平,其余几列全为高电平(此时我们确 定了列数),然后立即轮流检测次各行是否有低电平,若检测到某行为低电 平(这时我们又确定了行数),则我们便可确认当前被按下的键是哪行哪列 的,用同样方

    独立按键

    独立按键的一端接地,另一端与单片机的某个 I/O 口相连, 开始时先给该 IO 口赋一高电平,然后让单片机不断地检测该 I/O 口是否变为 低电平,当按键闭合时,即相当于该 I/O 口通过按键与地相连,变成低电平, 程序一旦检测到 I/O 口变为低电平则说明按键被按下。

    矩阵按键

    行列描述法:
    先送一列为低电平,其余几列全为高电平(此时我们确 定了列数),然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电 平(这时我们又确定了行数),则我们便可确认当前被按下的键是哪一行哪一列 的,用同样方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样即可检测完所有的按键,当有键被按下时便可判断出按下的键是哪一个键。当然我们也可以将行线置低电平,扫描列是否有低电平。从而达到整个键盘的检测。

    线翻转法:
    使所有行线为低电平时,检测所有列线是否有低电平,如果 有,就记录列线值;然后再翻转,使所有列线都为低电平,检测所有行线的值, 由于有按键按下,行线的值也会有变化,记录行线的值。从而就可以检测到全部 按键。

    行列描述法的列子

    #include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器
    
    typedef unsigned int u16;	  //对数据类型进行声明定义
    typedef unsigned char u8;
    
    #define GPIO_DIG P0
    #define GPIO_KEY P1
    
    
    u8 Key_value;	//用来存放读取到的键值
    
    
    u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
    					0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
    
    /*******************************************************************************
    * 函 数 名         : delay
    * 函数功能		   : 延时函数,i=1时,大约延时10us
    *******************************************************************************/
    void delay(u16 i)
    {
    	while(i--);	
    }
    
    /*******************************************************************************
    * 函 数 名         : KeyDown
    * 函数功能		   : 检测有按键按下并读取键值
    * 输    入         : 无
    * 输    出         : 无
    *******************************************************************************/
    int Key_down(void)
    {
    	char a=0;
    	GPIO_KEY=0x0f;
    	if(GPIO_KEY!=0x0f)//读取按键是否按下
    	{
    		delay(1000);//延时10ms进行消抖
    		if(GPIO_KEY!=0x0f)//再次检测键盘是否按下
    		{	
    			//测试列
    			GPIO_KEY = 0xF0;
    			switch(GPIO_KEY)
    			{
    				case(0xe0): Key_value = 0;break;
    				case(0xd0): Key_value = 1;break;
    				case(0xb0): Key_value = 2;break;
    				case(0x70): Key_value = 3;break;
    			}
    			//测试行
    			GPIO_KEY = 0x0F;
    			switch(GPIO_KEY)
    			{
    				case(0X0e): Key_value = Key_value;break;
    				case(0X0d): Key_value = Key_value+4;break;
    				case(0X0b): Key_value = Key_value+8;break;
    				case(0X07): Key_value = Key_value+12;break;
    			}
    			
    		}
    	}
    	while((a<50)&&(GPIO_KEY!=0x0f))	 //检测按键松手检测
    	{
    		delay(100);
    		a++;
    	}
    }
    
    
    /*******************************************************************************
    * 函 数 名       : main
    * 函数功能		 : 主函数
    * 输    入       : 无
    * 输    出    	 : 无
    *******************************************************************************/
    void main()
    {	
    
    	while(1)
    	{	
    		Key_value = Key_down();		   //按键判断函数
    		GPIO_DIG=~smgduan[Key_value];	  //
    	}		
    }
    

    按键消抖

    使用延时函数来消抖,延时10ms来进行消抖。delay(1000);相当于10ms。

    展开全文
  • vb.net 判断是否按下某个按键

    千次阅读 2016-02-24 11:31:34
    判断是否按下某个按键,比如我的textbox2控件要监听,是否按下了ctrl+ F11,或者ctrl+F12,并分改变窗体状态。  Private Sub TextBox2_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms....
    vb.net 判断是否按下某个按键,比如我的textbox2控件要监听,是否按下了ctrl+ F11,或者ctrl+F12,并分改变窗体状态。
        Private Sub TextBox2_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyDown
            If e.Control = True And e.KeyCode = Keys.F12 Then
                Me.WindowState = FormWindowState.Minimized
            ElseIf e.Control = True And e.KeyCode = Keys.F11 Then
                Me.Close()
            End If
        End Sub
    keychar和keycode区别
     KeyChar获得是字符,类型是Char,是KeyPressEventArgs类的属性
     KeyCode获得是键码,类型是Keys枚举,是KeyEventArgs类的属性,比如keys.a
    keypress和keydown区别
    当用户同时按下 CTRL + C 的时候,KeyDown事件会相应两次,KeyCode的值分别会是 CTRL键 和 C键。但是随后的KeyPress会相应一次,产生的KeyChar的值是3。
    若是用户在按住CTRL + C不放的话,KeyDown和KeyPress会一直交替引发,但是这个时候,KeyDown就只有 C 键了(CTRL键不再引发该事件),KeyPress就是3.
    展开全文
  • 怎样判断键盘是否按键按下

    万次阅读 2012-07-23 01:25:46
    一般情况我们边写程序需要在程序运行中判断是否用户按下了键盘的键,比如任意键退出的实现,那么怎样实现这功能呢?有人可能想到C++中的Meaasge中用case判断,太麻烦了,或者用kbhit()函数,这函数不错,...

    一般情况下我们边写程序需要在程序运行中判断是否用户按下了键盘的键,比如按任意键退出的实现,那么怎样实现这个功能呢?有人可能想到C++中的Meaasge中用case判断,太麻烦了,或者用kbhit()函数,这个函数不错,但是这个函数有时候还是不太好用,如果在while(!kbhit())中有很大一个循环,猜下会有什么结果?这里推荐一种判断的方法,采用API函数GetAsyncKeyState(),具体参数解释,老规矩见MSDN,具体实现如下:

    我们可以在文件头定义:#define KEY_DOWM(vk_c) (GetAsyncKeyState(vk_c)&0x8000?1:0)

    这样我们可以在程序循环中直接使用KEY_DOWN(/*按键值*/)来判断某个键是否被按下。
    比如KEY_DOWN("A")来判断A键有没有被按下,如果被按下返回一个true。

    bool quit = false;
    while(!quit)
    {
        if(KEY_DOWN(VK_ESCAPE) quit=true;
        //Do SomeThing
    }

    在这个循环中,当你按下Esc键,循环退出;
    vk_c是一个虚拟键值,比如VK_ESCAPE是Esc键的虚拟键值。

    这样就实现了判断是否有键盘键被按下的功能,试试吧。

    展开全文
  • 测试Numlock 是否是亮的 环境控制台程序; #include "stdafx.h" #include #include #include bool CrnGetNumLockState(); int _tmain(int argc, _TCHAR* argv[]) { if(CrnGetNumLockState())  printf...
  • 我们可以用 ...来判断鼠标那个键按下,但是在mouseMoveEvent函数中,event->button()总是返回NoButton,这让这个判断完全失去了意义, 经查找,发现大家都是用这 if (event->buttons() & Qt::LeftButton) { TODO
  • Qt 及 QML 处理多个按键同时按下

    千次阅读 2020-07-30 00:07:00
    想写个判断哪些方向键同时按下的逻辑,结果发现 Qt 的按键事件只能取到单个键值,而QKeyEvent::modifiers() 又只能获取 Ctrl 或者 Shift 这种辅助按键。一番百度之后,发现可以使用容器保存键值,在keyPressEvent ...
  • 我就不浪费时间啦,今天也是在网上找了找,可是没有找到想要的,其实也不是很难,那就自己去想一想咯。...其次,在按键的地方,先定义两标志位(first,second),来确定第按下和第二次按下,如果第按下first...
  • code:     #include &lt;stdio.h&gt; #include &lt;linux/input.h&gt; #include &lt;stdlib.h&gt; #include &lt;sys/types.h&...fcntl....
  • 请教大师们: 在Qt 中怎么判断连续按下了键盘的两个按键?就像五笔输入法一样,我先“A”键,然后“B”键,打出“节”字? 谢谢了,我没有分数了......
  • 1. if(K10 == 0) 2. { 3. __delay_ms(TWOKEY_DELAY); //两个按键按下的时间差,要小于这延时,否则判断为单个按键按下 4. if(K10 == 0) 5. { 6. if(K7 == 0) 7. { 8. TX_D...
  • 请高手举例子。
  • 判断按键是否按下去了!

    千次阅读 2014-04-04 16:39:54
    一个较为特殊的软件中。比如,人事软件
  • 判断按键

    2012-04-07 12:21:59
    响应键盘无非是判断玩家按下了哪一个键或者组合键,要实现这些其实很简单,我们既可以通过按钮或MC的事件来响应按键,也可以通过帧上的动作来响应,举例说明: (1)按钮的keyPress方法:  先说按钮,按钮除了响应鼠标的...
  • 单片机按键按下的先后顺序判断

    千次阅读 2016-01-25 11:40:46
    每先K3、再K4,即代表“进”人次;每先K4、再K3,则代表“出”人次。每“进”人次,就在原“进”显示基础上加1(“进”显示初始状态为“b000”);每“出”人次,就在原“出”显示基础上加1(“出”...
  • c#实现多个按键同时按下检测

    千次阅读 2011-05-29 14:00:00
    在C#中实现了多个按键同时按下的检测
  • 第1章 按键长短实验(提升) 1.1 实验简介 按键长按与按键短在很多产品中都需要应用到,在我们生活中,例如:手机开关机用到的就是...假设,定时器定时10ms中断次,在中断函数中,判断按键是否按下,如果按下
  • 上次介绍了按键消抖,这次讲一下如何实现同一个按键的长按和短? bitLock=0; //按键自锁标志位,防止按键按下一直被触发 bitShortClickTmp=0; //按键预处理 bitShortClick=0; //按键标志位 bitLongClick=...
  • 不管是OnClickListener还是OnTouchListener监听器,其实现方法里面都传进来了一个参数View view,利用view.getID()方法,便可以判断是哪一个按键按下了.而如果要对按键按下,弹起进行不同的操作,那么,OnClickListener...
  • 在键盘上,有些键是可以切换状态的开关键,一些常用的开关键为:Caps ...当按键被按下,我们可以通过按键按下事件处理函数的参数中的KeyEventArgs.IsToggled 属性来判断按键状态是打开或者关闭。 private void TextB
  • c#判断按键用户按键

    千次阅读 2018-05-20 15:07:05
    而在这之前却犯了一个愚蠢至极的错误,如下 while (Console.ReadKey().Key == ConsoleKey.Y) { break; } while (Console.ReadKey().Key != ConsoleKey.Y) { break; } 原因在于while()中的条件不成立时,就不会...
  • pygame按键持续按下响应

    万次阅读 2018-08-17 11:19:05
    在写一个pygame 的一个小的飞机大战程序但是碰到一个小问题,仅此记录 通过键盘事件操控飞机的左右移动: elif event.type == KEYDOWN: # 检测按键是否是a或者left if event.key == K_a or event.key == K_...
  • C——esc按键按下与识别

    千次阅读 2021-05-30 04:35:57
    esc按键ASCII码为27,模拟按下esc按键代码如下: # include <stdio.h> # include <windows.h> int main() { keybd_event(27, 0, 0, 0); //按下 Sleep(100); keybd_event(27, 0, 2, 0); //松开 ...
  • python——esc按键按下与识别

    千次阅读 2021-05-30 04:45:43
    esc按键ASCII码为27,模拟按下esc按键代码如下: import win32api import time win32api.keybd_event(27,0,0,0) time.sleep(0.1) win32api.keybd_event(27,0,2,0) 识别esc按键按下代码如下: import win32api ...
  • android按键连续按下事件处理

    千次阅读 2014-09-15 17:15:21
    android中有Button控件,针对Button控件有2非常经典的处理shi
  • js判断键盘按键

    千次阅读 2017-12-16 21:41:30
    js判断键盘按键 判断方法: 表 3. DHTML 键盘事件 名称 说明 onkeypress 这事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别...
  • 前言:最近在做一个关于硬按键的处理,大多数都可以转成Android的keycode,其中一个功能就是要针对按键的长按和短来做出相应的动作,包括长按的时长不同,相应的处理也不同。下面是我总结的关于识别Android按键的...
  • 解决pygame中按键连续按下的问题

    千次阅读 2020-08-27 20:53:24
    如何在飞机大战中实现按键连续按下呢? 解决问题的方法有很多,下面我介绍一下官网给出的方法。 先上代码: #函数原型:pygame.key.set_...按键的连续检测使能后,当按键按下时,将会以delay的延时去触发第次的KEYD

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,364
精华内容 36,545
关键字:

如何判断一个按键是否按下