λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
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

 

λŒ“κΈ€