JavaScript has 3 event handles in the input state of the corresponding keyboard: KeyDown, KeyPress, and KeyUp.
The corresponding meaning is: The key is pressed (press the button but has not been lifted), click the button (press and lift the button), press the key to lift (after the key)
Classification of keys
Keys can be divided into "real" and "virtual"
Real key can be understood as we can see and print out the keys, such as the letter "A", the number "1", the character "?" Wait a minute
Virtual keys are those buttons that can't be printed to control, such as Ctrl, ALT, Shift, arrow keys, and so on.
IE has a special case when dealing with a virtual key: a virtual key does not produce a KeyPress event and must be captured using KeyDown or KeyUp
key code and character code
Key code is the computer to identify the different keys of the code, each button has a key code
The character code is unique to the actual key that can be printed, corresponding to the characters displayed on the keyboard
Key codes can be converted to character codes using String.fromCharCode ()
The key code and the corresponding table for the character code can be found at the end of this article.
Get real Key
Copy Code code as follows:
function getKeyCode (e) {
var keycode = 0;
var e = e | | window.event;
keycode = E.keycode | | E.which | | E.charcode;
alert (keycode);
}
Explain it a little bit.
1. E for Firefox and other standard browser support JS hidden variables, indicating an "event", IE series does not "E", but with window.event to represent "event"; so var e = e | | Window.event: Gets the event that is currently occurring.
2. E.keycode, E.which, E.charcode are all on behalf of the key code, but different browsers support different wording
Get Virtual Key
Copy Code code as follows:
function getKeyCode (e) {
var keycode = 0;
var e = e | | window.event;
if (e.ctrlkey) alert ("Ctrlkey pressed");
if (e.altkey) alert ("Altkey pressed");
if (e.shiftkey) alert ("Shiftkey pressed");
}
Key code values for letters and numeric keys (keycode) |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
A |
65 |
J |
74 |
S |
83 |
1 |
49 |
B |
66 |
K |
75 |
T |
84 |
2 |
50 |
C |
67 |
L |
76 |
U |
85 |
3 |
51 |
D |
68 |
M |
77 |
V |
86 |
4 |
52 |
E |
69 |
N |
78 |
W |
87 |
5 |
53 |
F |
70 |
O |
79 |
X |
88 |
6 |
54 |
G |
71 |
P |
80 |
Y |
89 |
7 |
55 |
H |
72 |
Q |
81 |
Z |
90 |
8 |
56 |
I |
73 |
R |
82 |
0 |
48 |
9 |
57 |
Key code values for keys on the numeric keypad (keycode) |
Function key key code value (KeyCode) |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
0 |
96 |
8 |
104 |
F1 |
112 |
F7 |
118 |
1 |
97 |
9 |
105 |
F2 |
113 |
F8 |
119 |
2 |
98 |
* |
106 |
F3 |
114 |
F9 |
120 |
3 |
99 |
+ |
107 |
F4 |
115 |
F10 |
121 |
4 |
100 |
Enter |
108 |
F5 |
116 |
F11 |
122 |
5 |
101 |
- |
109 |
F6 |
117 |
F12 |
123 |
6 |
102 |
. |
110 |
|
|
|
|
7 |
103 |
/ |
111 |
|
|
|
|
Control key key code value (KeyCode) |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
BackSpace |
8 |
Esc |
27 |
Right Arrow |
39 |
-_ |
189 |
Tab |
9 |
Spacebar |
32 |
Dw Arrow |
40 |
.> |
190 |
Clear |
12 |
Page up |
33 |
Insert |
45 |
/? |
191 |
Enter |
13 |
Page down |
34 |
Delete |
46 |
`~ |
192 |
Shift |
16 |
End |
35 |
Num Lock |
144 |
[{ |
219 |
Control |
17 |
Home |
36 |
;: |
186 |
\| |
220 |
Alt |
18 |
Left Arrow |
37 |
=+ |
187 |
]} |
221 |
Cape Lock |
20 |
Up Arrow |
38 |
,< |
188 |
'" |
222 |
Multimedia key code value (KeyCode) |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
Keys |
Key code |
Volume Plus |
175 |
|
|
|
|
|
|
Volume reduction |
174 |
|
|
|
|
|
|
Stop it |
179 |
|
|
|
|
|
|
Mute |
173 |
|
|
|
|
|
|
Browser |
172 |
|
|
|
|
|
|
Mail |
180 |
|
|
|
|
|
|
Search |
170 |
|
|
|
|
|
|
Collection |
171 |
|
|
|
|
|
|