e.target, e.currentTarget
target은 부모로부터 이벤트가 위임되어 발생하는 자식의 위치, 내가 클릭한 자식 요소를 반환함
=> 클릭이 일어난 바로 그 요소
currentTarget은 이벤트가 부착된 부모의 위치를 반환함
=> 클릭이 일어난 요소부터 상위로 올라가며(버블링) 이벤트 핸들러가 등록된 요소를 가리킴
1. button 안에 자식 없을 때
2. 하위 div 만들었을 때
target은 하위를 가리킴
3. 하위 div 2개일 때
target : 가장 하위(secondChild)를 가리킴
currentTarget : button 을 가리킴
4. 하위 div 5개 만들어봄
target : 가장 하위(fifthChild)를 가리킴
currentTarget : button 을 가리킴
이벤트 버블링 / 캡쳐링
하위 컴포넌트에서 이벤트가 발생하면 캡처링-버블링이 발생함
이벤트 캡처링
: 최상위 부모 요소인 html부터 처음 이벤트가 발생한 요소까지 내려가 이벤트 핸들러가 있는지 검사 - 호출 하는 것
이벤트 버블링
: 이벤트가 처음 발생한 요소->html요소까지 이벤트 핸들러가 있는지 검사-호출하는 것
이벤트 핸들러는 버블링 단계에 동작함
캡처링 타입의 이벤트 핸들러가 등록 되어 있다면
모든 캡처링 핸들러가 먼저 호출된 후 버블링 핸들러가 호출됨
정리
target은 부모로부터 이벤트가 위임되어 발생하는 자식의 위치, 내가 클릭한 자식 요소를 반환함
=> 클릭이 일어난 바로 그 요소
currentTarget은 이벤트가 부착된 부모의 위치를 반환함
=> 클릭이 일어난 요소부터 상위로 올라가며(버블링) 이벤트 핸들러가 등록된 요소를 가리킴
참고 블로그
'TIL' 카테고리의 다른 글
docker 이미지 / 컨테이너 만들기 (0) | 2023.05.18 |
---|---|
낙관적 업데이트 & finally() (0) | 2023.05.15 |
git은 파일명/폴더명 대소문자 구별 못함 (1) | 2023.04.29 |
웹 최적화 - Image LazyLoading (0) | 2023.04.17 |
프로그래머스 다음 큰 숫자 풀이 (0) | 2023.04.17 |
댓글