TIL

23/10/19 TIL __ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ_ ์ œ์ด์ฟผ๋ฆฌ ์—†์ด ์ˆœ์ˆ˜ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

GABOJOK 2023. 10. 19. 17:57

 

 

 

๐Ÿš—   ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ

 

 

๊ฐœ์ธ๊ณผ์ œ๋กœ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋งŒ ์ด์šฉํ•ด์„œ(์ œ์ด์ฟผ๋ฆฌ ์ œ์™ธ) ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋ดค๋‹ค.๐Ÿ˜†

๊ทธ์ค‘์—์„œ ์˜ค๋Š˜์€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ์ ์œผ๋ ค๊ณ  ํ•œ๋‹ค. 

 

 

 

๐Ÿ’ก ๊ตฌ์ƒ

  1. ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜, ์—”ํ„ฐํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ฒ€์ƒ‰์ด ๋œ๋‹ค.
  2. input์— ์ž…๋ ฅ๋œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์™€์„œ, ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ฐ์ดํ„ฐ ๋“ค๊ณผ ๋น„๊ต ํ•œ๋‹ค.
  3. ๋™์ผํ•œ ๊ฒƒ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ๋“ค์„ ๋ณด์—ฌ์ฃผ๊ณ , ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†๋‹ค๊ณ  ์•Œ๋ ค์ค€๋‹ค.

 

 

  • ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋‹ฌ์•„์ฃผ๊ธฐ
//๊ฒ€์ƒ‰๋ฒ„ํŠผ ํด๋ฆญํ•˜๋ฉด ์ด๋ฒคํŠธ ์‹คํ–‰
document.querySelector("#searchBtn").addEventListener("click", function (e) {
  return search();
});

//์—”ํ„ฐ ํ‚ค ์ž…๋ ฅํ•˜๋ฉด ์ด๋ฒคํŠธ ์‹คํ–‰
document.querySelector("#searchInput").addEventListener("keyup", function (e) {
  if (e.keyCode == 13 || e.which == 13) {
    return search();
  }
});

 

โ—๏ธโ—๏ธ์ด ๋ถ€๋ถ„์—์„œ ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ๋‹ค. โ—๏ธโ—๏ธ

 

input์— ์ž…๋ ฅ ํ•˜๊ณ , ์—”ํ„ฐํ‚ค๋ฅผ ์น˜๋ฉด, ์ž…๋ ฅ๊ฐ’๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ž˜ ์ถœ๋ ฅ ๋˜์—ˆ๋Š”๋ฐ,

์ดํ›„ ์ง€์šฐ๋ ค๊ณ  ๋ฐฑ์ŠคํŽ˜์ด์Šค ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋‹ˆ ์ž…๋ ฅ๋˜์ง€ ์•Š์•˜๋‹ค. 

 

 

 

search() ํ•จ์ˆ˜์˜ ๋ฌธ์ œ์ผ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ

ํ•ด๋‹น ํ•จ์ˆ˜์—์„œ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ถœ๋ ฅํ•ด์ค„ ๋ถ€๋ถ„๋“ค์„ ์ œ์™ธํ•ด ๋ณด๋‹ˆ ์ž˜ ์ž‘๋™์ด ๋˜์—ˆ๋‹ค..

๊ทธ๋ ‡์ง€๋งŒ ๋‚˜๋Š” ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๊ฐ€ ์—†๋‹ค๊ณ  ๋งํ•ด์ฃผ๊ณ  ์‹ถ์—ˆ๊ณ , ์—ด์‹ฌํžˆ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ดค๋‹ค. 

 

 

 

์•Œ๊ณ ๋ณด๋‹ˆ ..!

 

โ—๏ธโ—๏ธ์ œ๋Œ€๋กœ ๋ชฐ๋ž๋˜ ๋ถ€๋ถ„์œผ๋กœ ์ธํ•œ ๋ช‡๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. โ—๏ธโ—๏ธ

  1. keydown ์ด๋ฒคํŠธ๋Š” ํ‚ค๋ฅผ ๋ˆ„๋ฅธ ์ˆœ๊ฐ„ ๋ฐœ์ƒํ•˜๋ฉฐ, input ๊ฐ’์ด ๋“ค์–ด์˜ค๊ธฐ ์ „์— ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•ด ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚œ๋‹ค. 
  2. e.preventDefault() ๋Š” ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง์„ ๋‹จ์ˆœํžˆ ๋ง‰๋Š” ์• ๊ฐ€ ์•„๋‹ˆ๋ผ! ๋ธŒ๋ผ์šฐ์ €์˜ ๊ณ ์œ  ๋™์ž‘์„ ์ค‘์ง€์‹œํ‚จ๋‹ค.
  3. e.stopPropagation() ์€ ๋ถ€๋ชจ์š”์†Œ๋กœ ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง ๋˜๋Š” ํ˜„์ƒ์„ ๋ง‰์•„์ค€๋‹ค. 
  4. ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง์ด ์ง„ํ–‰๋˜๋Š” ๋ฐฉํ–ฅ์€ ๋ถ€๋ชจ์š”์†Œ๋กœ ๋ฒˆ์ ธ๋‚˜๊ฐ„๋‹ค. 

 

 

 

์ฒ˜์Œ์— ์‹œ๋„ํ–ˆ๋˜ ์ฝ”๋“œ๋Š” ์ด๋Ÿฐ์‹์ด์˜€๋‹ค

//๊ฒ€์ƒ‰๋ฒ„ํŠผ ํด๋ฆญํ•˜๋ฉด ์ด๋ฒคํŠธ ์‹คํ–‰
document.querySelector("#searchBtn").addEventListener("click", function (e) {
  e.preventDefault();
  return search();
});

//์—”ํ„ฐ ํ‚ค ์ž…๋ ฅํ•˜๋ฉด ์ด๋ฒคํŠธ ์‹คํ–‰
document.querySelector("#searchInput").addEventListener("keydown", function (e) {
  e.preventDefault();
  if (e.keyCode == 13 || e.which == 13) {
    return search();
  }
});

 

๋ฌธ์ œ๋Š” !!

keydown์œผ๋กœ ์‹œ๋„ํ–ˆ์—ˆ๊ณ ,

e.preventDefault() ๋ฅผ ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง ๋ง‰๋Š” ์•ˆ์ „ํ•œ ์• !! ์ •๋„๋กœ๋งŒ ์ƒ๊ฐํ•˜๊ณ  ์‚ฌ์šฉํ–ˆ์—ˆ๋‹ค. 

 

 

 

keyup ์œผ๋กœ ๋ฐ”๊พธ๋‹ˆ๊น ๋งˆ๋ฒ•์ฒ˜๋Ÿผ input ๊ฐ’์ด ์ž‘์„ฑํ•˜๊ณ  ๋ฐฑ์ŠคํŽ˜์ด์Šค ์ด์šฉํ•ด์„œ ์‚ญ์ œ๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๋„ ์ž˜ ๋‚˜์™”๋‹ค. 

์™œ ๊ทธ๋Ÿฐ์ง€๋ฅผ ๋ชฐ๋ž์—ˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ์•Œ๊ณ ๋‚˜๋‹ˆ ์ •๋ง ๊ธฐ์˜๋‹ค!!

 

 

 

์ฐธ๊ณ ํ•œ ๋ธ”๋กœ๊ทธ

https://velog.io/@nemolog/231020TIL

 

231020_TIL

์‚ผํ•ญ์—ฐ์‚ฐ์ž.. ์•ˆ์“ฐ๋‹ค๋ณด๋‹ˆ ๋ฌธ๋ฒ•๋„ ์–ด์ƒ‰ํ•˜๋‹ค( a % 2 == 0 ) ? '์ˆ˜' : '๋ฐ•'๋ฒ„๋ธ”๋ง๊ด€๋ จ ์˜ˆ์ œ

velog.io