Front-end/Javascript

DOM에서 이벤트 처리하기

Kamea 2022. 9. 1. 22:39

1. DOM 요소에 함수 직접 연결

 

var btn = document.querySelector("#btn");
btn.onclick = function(){
    alert('버튼을 클릭했습니다.');
}

 

 

 

2. 함수 이름을 사용해 연결

 

var btn = document.querySelector("#btn");
btn.onclick = btnHandler;

function btnHandler(){
	btn.style.color = "red";
}

 

✅ event 객체에는 이벤트 정보만 들어있음, 만약 이벤트가 발생한 대상에 접근하려면 이벤트 처리기에서 예약어 this를 사용해야 함

 

var card = document.querySelector("#card");
card.onclick = function(event){
	alert("클릭한 이미지 파일 : " + this.src);
}

 

 

 

 

 

3. addEventListner()

→ 한 요소에 여러 이벤트 처리기를 연결해 실행 가능

 

요소.addEventListener(이벤트, 함수, 캡처 여부);

 

이벤트 : 이벤트 유형(단, on을 붙이지 않고 click, keypress 형태로 사용한다)
함수 : 이벤트가 발생하면 실행할 명령이나 함수를 지정
캡처 여부 : 이벤트를 캡처하는지 여부를 지정(이벤트 캡처링 : DOM의 부모 노드에서 자식 노드로 전달)

 

 

 

 

 

4. CSS 속성에 접근

document.요소명.style.속성명