π» Programming/JS, TS
[JavaScript] μ΄λ²€νΈ κ°μ²΄
Jiwon()
2024. 1. 13. 21:04
Event
- μ μ κ° μ¬μ΄νΈμ νΉμ λΆλΆμ μ λ ₯, ν΄λ¦, μ€ν¬λ‘€ νλ λ±μ νλμ μλ―Ένλ€. μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νλ©΄ μ΄λ²€νΈλ₯Ό νμ§νμ¬ νΉμ μ½λλ₯Ό μ€ννλλ‘ ν μ μλ€.
- μΉμ κ²½μ° μ΄λ²€νΈλ λΈλΌμ°μ μλμ° λ΄μμ λ°μλλλ°, λ€μμ κ°μ λ€μν μ΄λ²€νΈ νμ
λ€μ΄ μλ€.
- μ μ κ° μ΄λ€ μμλ₯Ό μ ννκ±°λ μ΄λ€ μμ μμ 컀μλ₯Ό μ¬λ €λλ€(hover).
- μ μ κ° ν€λ³΄λμμ ν€λ₯Ό μ ννλ€.
- μ μ κ° λΈλΌμ°μ μ°½μ ν¬κΈ°λ₯Ό μ¬μ‘°μ νκ±°λ λ«λλ€.
- μΉ νμ΄μ§κ° λ‘λ©μ μλ£νλ€.
- μμ(form)μ΄ μ μΆλμλ€.
- λΉλμ€κ° μ¬μλκ±°λ, λ©μΆκ±°λ, νΉμ λλ¬λ€.
- μ€λ₯κ° λ°μνλ€.
μ΄λ²€νΈλ¦¬μ€λμ μ½λ°±ν¨μ
let paragraphElement = document.body.firstElementChild;
function changeParagraphText() {
paragraphElement.textContent = 'Clicked!';
}
// paragraphElement.addEventListener('click', () => {
// paragraphElement.textContent = 'Clicked!';
// });
paragraphElement.addEventListener('click', changeParagraphText); // μ½λ°±ν¨μ
- μ½λ°± ν¨μ
- λ€λ₯Έ ν¨μμ μΈμλ‘μ λ겨주λ μ€ν κ°λ₯ν ν¨μλ₯Ό λ§νλ€. μ½λ°±μ λ겨λ°λ μ½λλ μ΄ μ½λ°±μ νμμ λ°λΌ μ¦μ μ€νν μλ μκ³ , μλλ©΄ λμ€μ μ€νν μλ μλ€.
μ΄λ²€νΈ κ°μ²΄
// 1. κ³ μ μ΄λ²€νΈ μ¬μ©
element.onμ΄λ²€νΈνμ
λͺ
= function(event){
}
// 2. addEventLister() μ¬μ©
element.addEventListener('μ΄λ²€νΈνμ
', function(event){
});
- addEventListener μ½λ°±ν¨μμ νλΌλ―Έν°λ₯Ό μ€μ ν΄μ£Όλ©΄(μ΄ λ νλΌλ―Έν° μ΄λ¦μ 무μμ΄λ μκ΄μλ€. ν¨μμ 첫 λ²μ§Έ νλΌλ―Έν°λ₯Ό μλμΌλ‘ μ΄λ²€νΈ κ°μ²΄λ‘ μ§μ νλ€. νμ§λ§ λ³΄ν΅ e λλ eventλ‘ λ€μ΄λ°νλ κ²μ΄ κ΄λ‘μ΄λ€.) μ΄ μ΄λ²€νΈ κ°μ²΄λ ν΄λΉ μμμ λ°μν λͺ¨λ μ΄λ²€νΈμ λν μ 보λ₯Ό λ΄μ κ°μ²΄μ΄λ€.
- μ΄λ²€νΈ κ°μ²΄μ λ΄μ©μ κ·Έ μ΄λ²€νΈμ λ°λΌμ λ¬λΌμ§λ€.
- ex. click μ΄λ²€νΈμμλ MouseEvent κ°μ²΄, input μ΄λ²€νΈμμλ InputEvent κ°μ²΄κ° λ°μνλ€.
event.target.valueμ event.data
event.target.valueλ νμ νμ¬ μμμ eventλ₯Ό ν΅ν΄ μ μ₯λ μμ ν κ°μ μ 곡ν΄μ£Όλ λ°λ©΄μ event.dataλ λ§μ§λ§ μ΄λ²€νΈ λ°μμΌλ‘ μΆκ°λ ꡬ체μ μΈ μ λ ₯κ°μ μΆλ ₯νλ€.