溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用JS監(jiān)聽鍵盤按下事件(keydown event)

發(fā)布時間:2020-10-15 14:12:04 來源:腳本之家 閱讀:1793 作者:風(fēng)雨同舟z 欄目:web開發(fā)

1、監(jiān)聽全局鍵盤按下事件,例如監(jiān)聽全局回車事件

$(document).keydown(function(event){
 if(event.keyCode == 13){
  alert('你按下了Enter'); 
 }
}); 

2、監(jiān)聽某個組件鍵盤按下事件,例如監(jiān)聽id為btn的button組件的回車按下事件

$("#btn").keydown(function(event){
 if(event.keyCode==13){
  alert('你按下了Enter');      
 }
});

3、如果是要監(jiān)聽組合鍵,例如監(jiān)聽ctrl+c

$(document).keyup(function(event){
  if(event.ctrlKey && event.keyCode==67){
    alert('你按下了CTRL+C')
  }
});

4、詳細(xì)keyCode值列表

使用JS監(jiān)聽鍵盤按下事件(keydown event)

使用JS監(jiān)聽鍵盤按下事件(keydown event)

使用JS監(jiān)聽鍵盤按下事件(keydown event)

使用JS監(jiān)聽鍵盤按下事件(keydown event)

 js keyup、keypress和keydown事件 詳解

js keyup、keypress和keydown事件都是有關(guān)于鍵盤的事件

當(dāng)一個按鍵被pressed 或released在每一個現(xiàn)代瀏覽器中,都可能有三種客戶端事件。

keydown event
keypress event
keyup event

keydown事件發(fā)生在鍵盤的鍵被按下的時候,接下來觸發(fā)keypress事件。 keyup 事件在按鍵被釋放的時候觸發(fā)。

這三個事件在頁面中的使用方法如下例:

<input id="testkeyevent" name="testkeyevent" onKeyUp="keyup()" />
<input id="testkeyevent" name="testkeyevent" onkeypress="keypress()" />
<input id="testkeyevent" name="testkeyevent" onkeydown="keydown()" />

對應(yīng)的js函數(shù):

function keyup(){ ...}
function keypress(){ ...}
function keydown(){ ...}

注意:

KeyDown觸發(fā)后,不一定觸發(fā)KeyUp,當(dāng)KeyDown 按下后,拖動鼠標(biāo),那么將不會觸發(fā)KeyUp事件。
KeyPress主要用來捕獲數(shù)字(注意:包括Shift+數(shù)字的符號)、字母(注意:包括大小寫)、小鍵盤等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜單鍵}、{開始鍵}和方向鍵外的ANSI字符
KeyDown 和KeyUp 通??梢圆东@鍵盤除了PrScrn所有按鍵(這里不討論特殊鍵盤的特殊鍵)
KeyPress 只能捕獲單個字符
KeyDown 和KeyUp 可以捕獲組合鍵。
KeyPress 可以捕獲單個字符的大小寫
KeyDown和KeyUp 對于單個字符捕獲的KeyValue 都是一個值,也就是不能判斷單個字符的大小寫。
KeyPress 不區(qū)分小鍵盤和主鍵盤的數(shù)字字符。
KeyDown 和KeyUp 區(qū)分小鍵盤和主鍵盤的數(shù)字字符。
其中PrScrn 按鍵KeyPress、KeyDown和KeyUp 都不能捕獲。

在使用鍵盤的時候,通常會使用到CTRL+SHIFT+ALT 類似的組合鍵功能。對于此,我們?nèi)绾蝸砼卸ǎ?/p>

通過KeyUp 事件能夠來處理(這里說明一下為什么不用KeyDown,因為在判定KeyDown的時候,CTRL、SHIFT和ALT 屬于一直按下狀態(tài),然后再加另外一個鍵是不能準(zhǔn)確捕獲組合鍵,所以使用KeyDown 是不能準(zhǔn)確判斷出的,要通過KeyUp 事件來判定 )

這里簡單的列舉出CTRL+其它鍵的組合判定代碼:

private void Form3_KeyUp(object sender, KeyEventArgs e){
if (e.Control){
MessageBox.Show("KeyUp:Ctrl+" + e.KeyValue.ToString());
}
}

捕獲PrScrn按鍵事件

通過一種鉤子的方式可以判定PrScrn 按鍵事件,鉤子可以獲取任何鍵盤事件。
以下是一些鍵盤上的鍵對應(yīng)的Code:以下是一些鍵盤上的鍵對應(yīng)的Code:

鍵盤按鍵 對應(yīng)的數(shù)碼
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

總結(jié)

以上所述是小編給大家介紹的使用JS監(jiān)聽鍵盤按下事件(keydown event),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI