Devlog/Web

[React] MacOS onKeyDown ์ด๋ฒคํŠธ ์‹œ ํ•œ๊ธ€ ๊นจ์ง ๋ฌธ์ œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

FATKITTY 2021. 8. 4. 01:20
๋ฐ˜์‘ํ˜•

๐Ÿ’ข ๋งฅ์—์„œ ํ•œ๊ธ€๋กœ text input ์ž…๋ ฅ ํ›„ ์ด๋ฒคํŠธ๋ฅผ triggerํ–ˆ์„ ๋•Œ

      ๋‹จ์–ด๊ฐ€ ์ œ๋Œ€๋กœ ์ธ์‹์ด ์•ˆ ๋˜๊ณ  ๊นจ์ง€๋Š” ๋ฌธ์ œ

 

๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚ฌ๋˜ ๊ธฐ๋Šฅ

โ–ช์—๋Ÿฌ๋‚ด์šฉ : 

์„ธ ๋ช…์˜ ํŒ€์› ์ค‘ ๋‘ ๋ช…์€ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ ๊ฐœ๋ฐœ ์ค‘์ด๊ณ , ํ•œ ๋ช…์€ ๋งฅ๋ถ์„ ์“ฐ๊ณ  ์žˆ๋‹ค.

input๋ž€์— ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  enterํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ‚ค์›Œ๋“œํƒœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ

์ด์ƒํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

์œˆ๋„์šฐ๋ฅผ ์“ฐ๋Š” ์‚ฌ๋žŒ๋“ค ๊ธฐ์ค€์—์„œ๋Š” ์•„๋ฌด ๋ฌธ์ œ ์—†์ด ํƒœ๊ทธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋“ฑ๋ก๋๋Š”๋ฐ,

๋˜‘๊ฐ™์€ ์ฝ”๋“œ์ธ๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ด์ƒํ•˜๊ฒŒ ๋งฅ๋ถ์—์„œ๋Š” ๊ธฐ๋Šฅ์ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰์ด ์•ˆ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ๊ณผ, ํ† ๋งˆํ† , ๋ณต์ˆญ์•„๋ฅผ ์ž…๋ ฅํ•œ๋‹ค๊ณ  ์น˜๋ฉด

์œˆ๋„์šฐ์—์„œ๋Š” ์œ„์˜ gif์ฒ˜๋Ÿผ ํ‚ค์›Œ๋“œ ํƒœ๊ทธ 3๊ฐœ๊ฐ€ ๊ฐ๊ฐ ์˜ˆ์˜๊ฒŒ ์ž˜ ์ƒ์„ฑ๋๋Š”๋ฐ,

๋งฅ๋ถ์—์„œ๋Š” '์‚ฌ๊ณผ', '๊ณผ', 'ํ† ๋งˆํ† ', 'ํ† ', '๋ณต์ˆญ์•„', '์•„'

์ด๋ ‡๊ฒŒ ์ด 6๊ฐœ์˜ ํƒœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

๋„๋Œ€์ฒด ์™œ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๋‹จ์–ด์˜ ๋งˆ์ง€๋ง‰ ์Œ์ ˆ์ด ๋˜ ํ•˜๋‚˜์˜ ๋‹จ์–ด๋กœ ์ธ์‹๋˜๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค.

(์˜์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฌธ์ œ ์—†๋Š”๊ฑธ ๋ณด์•„ํ•˜๋‹ˆ ์•„๋งˆ ๋งฅos์—์„œ ํ•œ๊ธ€์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ๋•Œ๋ฌธ์ธ ๋“ฏ ํ–ˆ๋‹ค)

 

โ–ช์›์ธ : onKeyDown ์‚ฌ์šฉ

 

โ–ชํ•ด๊ฒฐ๋ฐฉ๋ฒ•: onKeyPress ์‚ฌ์šฉ

const handleKeyPress = e => {
    let userInput = e.target.value;
    if (e.key === 'Enter') {
      // enter key down triggered event
    }
  };
  

<BoxInputText onKeyPress={handleKeyPress} />

 

 

์ฐธ๊ณ ์ž๋ฃŒ

https://www.codegrepper.com/code-examples/javascript/event.keycode+not+working+in+react 

๋ฐ˜์‘ํ˜•