๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JavaScript

addEventListener ์ด๋ฒคํŠธ (input & change)

by soy๋ฏธ๋‹ˆ 2022. 4. 25.

 

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ input ํƒœ๊ทธ์— ํ…์ŠคํŠธ๊ฐ€ ์ž…๋ ฅ์ด ๋˜๋ฉด ๋ฒ„ํŠผ์„ ํ™œ์„ฑํ™”ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ Input ์ด๋ฒคํŠธ์™€ change ์ด๋ฒคํŠธ์˜ ์ฐจ์ด์ ์„ ์•Œ๊ฒŒ ๋˜์–ด์„œ ๊ธฐ๋กํ•ด๋‘”๋‹ค.

 

 

์ž‘๋™ ๋ฐฉ์‹

์ธํ’‹ ๋ฐ•์Šค ๋‘ ๊ฐœ์— ๋ชจ๋‘ ํ…์ŠคํŠธ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด "ํ™•์ธ" ๋ฒ„ํŠผ์˜ ๋น„ํ™œ์„ฑํ™”๊ฐ€ ํ™œ์„ฑํ™”๋กœ ๋ฐ”๋€Œ๋Š” ๋กœ์ง

 

 

1. ๋จผ์ € ๋‘ ๊ฐœ์˜ input ์š”์†Œ๋ฅผ ๊ฐ๊ฐ element.getElementById ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.

2. ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด addEventListener ๋ฅผ ๊ฑธ์–ด์„œ ์–ด๋–ค ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ์–ด๋–ค ๋™์ž‘์ด ์ˆ˜ํ–‰๋˜๋„๋ก ๋งŒ๋“ ๋‹ค.

 

์ด๋•Œ input ์— ์ž…๋ ฅ๋˜๋Š” ๊ฐ’ ๋ณ€ํ™”๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์•Œ๊ธฐ ์œ„ํ•ด์„œ ์ฒ˜์Œ์—๋Š” onChange ์ฆ‰ , "change" ์ด๋ฒคํŠธ๋ฅผ ๋„ฃ์—ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜, change ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด input ์˜ ๊ฐ’ ๋ณ€ํ™”๊ฐ€ ์ปค์„œ๋ฅผ input ํƒœ๊ทธ ๋ฐ–์— ์ฐ์„ ๋•Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ change ์ด๋ฒคํŠธ์˜ ๊ฒฝ์šฐ select ์™€ ๊ฐ™์ด ๋™์ž‘์˜ ์ข…๋ฃŒ ์‹œ์ ์„ ์ •ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ์„ ๋•Œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐ’ ๋ณ€ํ™”๋ฅผ ํ™•์ธํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ํ…์ŠคํŠธ๋ฅผ ๊ฐ’์œผ๋กœ ๋ฐ›์„ ๋•Œ๋Š” ์ปค์„œ๋กœ ์˜์—ญ ๋ฐ–์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ์ธํ’‹ ๋ฐ•์Šค์— ๋Œ€ํ•œ ํฌ์ปค์Šค๊ฐ€ ์‚ฌ๋ผ์ ธ์•ผ ๊ฐ’์ด ๋ฐ˜์˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์‹œ๊ฐ„ ๊ฐ’ ๋ฐ˜์˜์ด ์–ด๋ ต๋‹ค๊ณ  ํ•œ๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜ ์š”์†Œ.onInput() ๋˜๋Š” addEventListener ์— input ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ•˜๋ฉด input ํƒœ๊ทธ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

change ์ด๋ฒคํŠธ input ์ด๋ฒคํŠธ
๋™์ž‘์˜ ์ข…๋ฃŒ ์‹œ์ ์ด ๋ช…ํ™•ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ (ex. select) input ํƒœ๊ทธ ๋‚ด์—์„œ ๋ณ€ํ™”ํ•˜๋Š” ๊ฐ’์„ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ
input ํƒœ๊ทธ์— ํฌ์ปค์Šค๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ๋ณ€ํ™”ํ•œ ๊ฐ’ ๋ฐ˜์˜ input ํƒœ๊ทธ์— ๊ฐ’์„ ์ž…๋ ฅํ•  ๋•Œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐ’ ๋ฐ˜์˜

 


 

์ž์„ธํ•œ ๊ฑด mozilla ๊ณตํ™ˆ Web ๋ถ€๋ฌธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ถœ์ฒ˜ : https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event

 

๋Œ“๊ธ€