• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

pointBtn.addEventListner("click")

22.12.15 23:15 작성 22.12.16 00:00 수정 조회수 182

0

선생님.. pointBtn을 가져오는 방법 다른 예시도 알려주실 수 있을까요..? 그리고 저부분은 함수로 안만든 이유가 따로 있을까요? ㅜㅜ pointBtn에는 addEventListner 함수가 인식이 안되는 것 같은데 맞나요??

그리고 i와 인덱스 값은 같지 않나요? ㅜㅜ 왜 [idx]가 들어가는지 (i)는 아래 따로 들어가는지 아래 부분이 잘 이해가 가지 않습니당...

저 함수 형태는 지역변수 형태같은데..맞나요..? ㅜㅜ
제가 가진 기초지식이 부족해서 이해를 잘 못하는 것 같은데
어떤 부분을 더 공부하면 좋을까요?

(function(idx) { pointBtn[idx].onclick = function() { //alert(idx); pageNum = idx; ...

})(i);

 

 

답변 2

·

답변을 작성해보세요.

0

감사합니다!! 잘 작동됩니다 ~ 그런데 getElementByTagName으로 가져오 li태그들은 함수가 될 수 없나요..?

pointBtn.addEventListener("click", clickPoint);

이렇게 함수로 저 for문을 넣어주려고 하면

Uncaught ReferenceError: clickPoint is not defined

라고 뜹니다!

 

코드상에 clickPoint 함수가 존재하나요?

전체 소스를 보지 않아서 어떤 상황인지 모르겠네요

0

헷갈리실 수 있습니다.

아래와 같이 let으로 작성해주시면 i 값을 제대로 가지고 옵니다.

0~ pointBtnAll.length 까지.

var로 할 경우 맨 마지막 넘버만 찍힐 겁니다. (테스트 해보세요.)

그걸 방지하기위해 idx를 사용하고는 했습니다.

for (let i = 0; i < pointBtnAll.length; i++) {

 pointBtnAll[i].addEventListener("click", function () {

 alert(i);

});

}
for (var i = 0; i < pointBtnAll.length; i++) {

 pointBtnAll[i].addEventListener("click", function () {

 alert(i);

});

}