• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

18:31 addEventListener의 this

23.04.17 16:00 작성 조회수 308

0

안녕하세요.

element.addEventListener 의 경우에는 this를 따로 지정한게 아니라 element의 메소드라서 this가 해당 element를 지칭한게 아닌가요?

 

앞선 설명에서는 메서드로 함수를 호출하면 호출한 주체가 this가 된다고 설명하셨는데 이경우에는 this를 따로 지정 했다고 하셔서 헷갈려서요

답변 1

답변을 작성해보세요.

0

element.addEventListener(event, callback) 호출시
addEventListener '메소드' 내부의 this는 element가 맞지만,

두번째 인자에 전달하는 callback함수 "function(e) { ... }" 내부에는
this가 그대로 적용되지 않습니다.

"함수"를 인자로 전달한 것입니다.
따라서 addEventListner 내부에서 특별한 조치를 취하지 않는 한 "함수"의 this 규칙이 적용됩니다.

dio sun님의 프로필

dio sun

질문자

2023.04.18

그렇군요 답변 감사합니다!