您好,登錄后才能下訂單哦!
1、監聽全局鍵盤按下事件,例如監聽全局回車事件
$(document).keydown(function(event){ if(event.keyCode == 13){ alert('你按下了Enter'); } });
2、監聽某個組件鍵盤按下事件,例如監聽id為btn的button組件的回車按下事件
$("#btn").keydown(function(event){ if(event.keyCode==13){ alert('你按下了Enter'); } });
3、如果是要監聽組合鍵,例如監聽ctrl+c
$(document).keyup(function(event){ if(event.ctrlKey && event.keyCode==67){ alert('你按下了CTRL+C') } });
4、詳細keyCode值列表
js keyup、keypress和keydown事件 詳解
js keyup、keypress和keydown事件都是有關于鍵盤的事件
當一個按鍵被pressed 或released在每一個現代瀏覽器中,都可能有三種客戶端事件。
keydown event
keypress event
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(){ ...}
注意:
KeyDown觸發后,不一定觸發KeyUp,當KeyDown 按下后,拖動鼠標,那么將不會觸發KeyUp事件。
KeyPress主要用來捕獲數字(注意:包括Shift+數字的符號)、字母(注意:包括大小寫)、小鍵盤等除了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 不區分小鍵盤和主鍵盤的數字字符。
KeyDown 和KeyUp 區分小鍵盤和主鍵盤的數字字符。
其中PrScrn 按鍵KeyPress、KeyDown和KeyUp 都不能捕獲。
在使用鍵盤的時候,通常會使用到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()); } }
捕獲PrScrn按鍵事件
通過一種鉤子的方式可以判定PrScrn 按鍵事件,鉤子可以獲取任何鍵盤事件。
以下是一些鍵盤上的鍵對應的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 |
總結
以上所述是小編給大家介紹的使用JS監聽鍵盤按下事件(keydown event),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。