• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

evnet.target에 id 값이 없다 나오네요

23.11.29 04:26 작성 조회수 102

0

event.target에 왜 id 가 없다 나오는지 알고 싶습니다

답변 1

답변을 작성해보세요.

0

노원두님의 프로필

노원두

지식공유자

23.11.29 11:05

안녕하세요! 성오님!

event.target으로 들어오는 대상 타겟이 id가 없는 경우도 있기 때문이랍니다!
예를들면, 태그를 클릭해서 실행되는 이벤트가 아닌 이미지 조작 등의 이벤트의 경우에는 대상 id가 없는 경우도 있기 때문이랍니다!

 

이를 해결하는 방법에는 여러가지 방법이 있는데,
1. 현재까지 배운 방법으로 해결하는 방법(event.target)
2. 이후에 배우게 될 내용으로 해결하는 방법 등이 존재합니다(event.currentTarget)
=> 뒷부분 이벤트버블링 파트에서 event.target과 event.currentTarget의 차이를 배워요!

 

따라서, 문제를 해결하시기 위해서는

  1. 조건을 줘서 event.target에 id가 있을 때만 실행하는 방법

if(event.target instanceof Element) { // event.target은 Element(태그)의 
                                      // instance(자식)이다 => 태그에는 id가 있음
  console.log(event.target.id) // 에러안남

}

 

  1. 이벤트버블링 파트를 수강 후, event.currentTarget을 사용하는 방법이 있어요!^^