본문 바로가기
자바스크립트 궁금증

이벤트 버블링과 캡처링

by 띠리에이터 2023. 12. 12.

 

 

 

1. 이벤트 버블링
  • 이벤트가 대상 요소에서 시작해 문서 트리의 최상단으로 이동하는 단계 / 하위요소가 상위요소로 다시 올라가는 단계
  • 이벤트가 이동하는 동안 각 부모 요소에서 등록된 이벤트 핸들러가 순차적으로 실행된다.

 

2. 이벤트 캡처링
  • 이벤트가 문서 트리의 최상단에서 시작하여 이벤트가 발생한 요소까지 이동하는 단계 / 상위에서 하위요소로 향한다.
3. 이벤트 전파 막기
  • event.stopPropagation() 
    • 상위 요소로의 이벤트 전파를 막기 위한 메서
    • 만약 이벤트가 전파되어 상위엘리먼트에서 발생한 이벤트가 하위엘리먼트에서 발생한 이벤트 결과에 의도치 않은 결과를 주는 경우 자주 사용
  • event.preventDefault()
    • html에서 표준으로 제공하는 태그의 기본 이벤트 발생을 막는 메서드
    • 예를 들어, <a> 태그를 클릭하면 일반적으로 브라우저는 링크를 따라 이동하게 된다. 그러나 이벤트 핸들러 내에서 event.preventDefault()를 호출하면 링크의 기본 동작이 중단되어 페이지 이동이 발생하지 않는
document.querySelector('a').addEventListener('click', function(event) {
  // 이벤트의 기본 동작을 중단
  event.preventDefault();

  // 여기에 추가적인 로직을 추가할 수 있음
  console.log('링크 클릭 이벤트가 발생했지만 기본 동작을 중단시켰습니다.');
});

'자바스크립트 궁금증' 카테고리의 다른 글

1216 / 삼항연산자와 구조분해  (0) 2023.12.16
1214 / 자바스크립트 데이터 타입과 함수  (0) 2023.12.14
keypress / keydown은 같은가?  (0) 2023.12.14
data 와 dataset  (0) 2023.12.13
js- classList  (0) 2023.12.12