본문 바로가기
프론트엔드/JavaScript

[ JavaScript ] currentTarget vs target 차이점

by CODESIGN 2022. 11. 17.

자바스크립트를 공부하던 중  e.currentTarget와 e.target의 차이점이 궁금해서 포스팅하게 되었다. 쉽게 말하자면 자바스크립트는 이벤트가 요소(element) 간에 전파가 된다. 이런 경우로 인해 currentTargettarget이 선택하는 요소가 달라진다.

 

 

currentTarget vs target 차이점


currentTarget : 이벤트를 등록해 놓은 요소를 반환한다.
target :  이벤트가 발생한 요소를 반환한다.

 

 

예제

 


 

<div class="currDiv">
  <p>나를 선택하면 나는 target</p>
  <a href="#">다른 target</a>
</div>
const currDiv = document.getElementById('currDiv');

currDiv.addEventListener('click',(e)=>{
  console.log('currentTarget : ',e.currentTarget.tagName) // currentTarget : div
  console.log('target : ',e.target.tagName) // target : p
});

 

위의 예제를 보면 currentTarget은 currDiv로 이벤트를 등록한 요소이기 때문에 addEventListener를 붙여놓은 div태그가 된다. 

 

target은 이벤트가 발생하는 요소를 가리키기 때문에 '나를 선택하면 나는 target'p태그가 되고 '다른 target'을 설정하면 a태그가 target이 된다. 

 

 

댓글