티스토리 뷰
이벤트 버블링(Event Bubbling)
특정 화면 요소에서 이벤트가 발생했을 때 해당 이벤트가 더 상위의 화면 요소들로 전달되어가는 특성을 의미함
상위의 화면 요소?
HTML 요소는 기본적으로 트리 구조를 갖는다. 여기서는 트리 구조상으로 한 단계 위에 있는 요소를 상위 요소라고 하며 body 태그를 최상위 요소라고 부른다.
{
<body>
<div class="one">
<div class="two">
<dib class="three">
<div>
<div>
<div>
<body>
}
{
var event = document.querySelectorAll("div");
event.forEach(function(div) {
div.addEventListener("click", logEvent);
});
function logEvent(event){
console.log(event.currentTarget.className)
}
}
위 코드는 세 개의 div 태그에 모두 클릭 이벤트를 등록하고 클릭했을 때 logEvent 함수를 실행시키는 코드다 여기서 위 그림대로 최하위 div 태그 class="three"를 클릭하면 결과는 아래와 같이 나온다
- three
- two
- one
div 태그 한 개만 클릭했을 뿐인데 3개의 이벤트가 발생되는 이유는 브라우저가 이벤트 감지하는 방식 때문이다. 브라우저는 특정 화면 요소에서 이벤트가 발생했을 때 그 이벤트를 최상휘에 있는 화면요소까지 이벤트를 전파한다.
'Javascript' 카테고리의 다른 글
PUSH(), POP() (0) | 2022.04.16 |
---|---|
replace() (0) | 2022.03.11 |
slice() (0) | 2022.02.20 |
setTimeout() (0) | 2022.02.16 |
리턴값 함수, 익명함수 (0) | 2022.02.14 |
댓글
© 2018 webstoryboy