인프런 커뮤니티 질문&답변

손성오님의 프로필 이미지
손성오

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

포트폴리오 리뷰

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

해결된 질문

작성

·

278

0

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

답변 1

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 성오님!

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을 사용하는 방법이 있어요!^^

손성오님의 프로필 이미지
손성오

작성한 질문수

질문하기