KeyboardEvent ์ธํฐํ์ด์ค
KeyboardEvent ์ธํฐํ์ด์ค๋ ํค๋ณด๋์ ์ฌ์ฉ์๊ฐ ์ํธ ์์ฉํ์ฌ ๋ฐ์ํ๋ ์ด๋ฒคํธ๋ฅผ ๋ํ๋ธ๋ค.
-ASCII ํค : a~z, A~Z, 0~9, ์ํฐ ๋ฑ
๋ฐ์ํ๋ ์ด๋ฒคํธ: keydown - keypress - keyup
keydown, keyup: aํค ๋๋ A ํค๋ฅผ ๋๋ฅด๋ฉด keyCode๋ ๋ชจ๋ 65
keypress : a ํค๋ 97, A๋ 65
keydown, keyup ์ด๋ฒคํธ๋ keyCode ์์ฑ์ผ๋ก ๋๋ฌธ์๋ฅผ ๊ตฌ๋ถํ ์ ์์
keypress๋ ์ค์ ๋๋ฌ์ง ํค์ฝ๋๋ฅผ ๋ฐํ
- F1~F12, Alt, Ctrl, Shift ๋ฑ ํน์ํค
๋ฐ์ํ๋ ์ด๋ฒคํธ : keydown~keyup
์ฃผ์ ์์ฑ | ์ค๋ช |
altKey code |
ํค ์ด๋ฒคํธ๊ฐ ํธ๋ฆฌ๊ฑฐ ๋์์ ๋"ALT"ํค๋ฅผ ๋๋ ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํ |
ctrIKey | ํค ์ด๋ฒคํธ๊ฐ ํธ๋ฆฌ๊ฑฐ ๋์์ ๋"CTRL"ํค๋ฅผ ๋๋ ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํ |
shiftKey | ํค ์ด๋ฒคํธ๊ฐ ํธ๋ฆฌ๊ฑฐ ๋์์ ๋"SHIFTํค๋ฅผ ๋๋ ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํ |
code | ํค๋ณด๋์ ์ค์ ํค๊ฐ์ ๋ฐํ. A ๋ a ํค๋ฅผ ๋๋ฅธ ๊ฒฝ์ฐ KeyA๋ก ๋ฐํ ๋๋ค. |
key | ์ด๋ฒคํธ๋ก ํ์๋ ํค์ ํค ๊ฐ์ ๋ฌธ์์ด๋ก ๋ฐํ ํ๋ค. ์๋ฌธ์ aํค๋ฅผ ๋๋ฅด๋ฉด a, ๋๋ฌธ ์ Aํค๋ฅผ ๋๋ฅด๋ฉด A๋ฅผ ๋ฐํ |
keyCode | onkeypress์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐ ํ ํค์ ์ ๋์ฝ๋์ ๋ฌธ์์ฝ๋ ๋๋ lonkeydown ๋๋ onkeyup ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐ ํ ํค์ ์ ๋์ฝ๋์ ํค ์ฝ๋๋ฅผ ๋ฐํ. ๋ ์ด์ ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์๋๋ค. |
key ์ฝ๋๋ ์๋ก ๋์จ ์์ฑ์ผ๋ก keyCode๋ณด๋ค๋ key ์ฌ์ฉ์ ๊ถ์ฅํ๋ค.
key๋ ํ์ฌ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์๋๋ค๊ณ ๋ณด์ฅ ๋ฐ์ ์ ์๋ค. (์ค๋๋ ๋ธ๋ผ์ฐ์ ์ ๊ฒฝ์ฐ ์ง์์ด ์ ๋ ์ ์๋ค)
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ ํํ๋ก ์ฌ์ฉํ๋ค.
let key = e.key||e.keyCode;
key๊ฐ ์์ผ๋ฉด keyCode๋ฅผ ์ฌ์ฉํด๋ผ ~
keydown
inputs.onkeydown = function(e) {
let keyCode = e.keyCode;
// a๋ฅผ ๋๋ฅด๋ฉด 65, A๋ฅผ ๋๋ฅด๋ฉด 65
let key = e.key; // ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ์ง ์์
// a๋ฅผ ๋๋ฅด๋ฉด 'a', A๋ฅผ ๋๋ฅด๋ฉด 'A'
let s = "keydown:" + keyCode + "," + key + "<br>";
layout.innerHTML = s;
}
ketpress
inputs.onkeypress = function(e) {
let keyCode = e.keyCode;
// a๋ฅผ ๋๋ฅด๋ฉด 97, A๋ฅผ ๋๋ฅด๋ฉด 65
let key = e.key; // ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ์ง ์์
// a๋ฅผ ๋๋ฅด๋ฉด 'a', A๋ฅผ ๋๋ฅด๋ฉด 'A'
let s = "keypress:" + keyCode + "," + key + "<br>";
layout.innerHTML += s;
}
keyup
inputs.onkeyup = function(e) {
let keyCode = e.keyCode;
// a๋ฅผ ๋๋ฅด๋ฉด 65, A๋ฅผ ๋๋ฅด๋ฉด 65
let key = e.key; // ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ์ง ์์
// a๋ฅผ ๋๋ฅด๋ฉด 'a', A๋ฅผ ๋๋ฅด๋ฉด 'A'
let s = "keyup:" + keyCode + "," + key + "<br>";
layout.innerHTML += s;
}
'๐ปProgramming > ๐โโ๏ธJavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] 07. form ๊ฐ์ฒด (0) | 2022.09.23 |
---|---|
[JavaScript] 06. ์ด๋ฒคํธ - MouseEvent (0) | 2022.09.23 |
[JavaScript] 06. ์ด๋ฒคํธ (0) | 2022.09.22 |
[JavaScript] 06.์ด๋ฒคํธ (0) | 2022.09.22 |
[JavaScript] ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ(BOM) - (0) | 2022.09.22 |