메뉴 건너뛰기

2020.07.31 01:45

예제 9-8 질문입니다.

조회 수 101 댓글 2

예제 9-8 코드 중

document.body.addEventListener("click", capture, true); // 켭쳐 단계(1)

// 타겟 객체에 버블 리스너 등록
button.addEventListener("click", bubble, false); // 버블 단계(2)

// body 객체에 버블 리스너 등록
document.body.addEventListener("click", bubble, false); // 버블 단계(3)

이 있는데요.

여기서 body 앞에는 document. 이 붙고

button 앞에는 document. 이 안 붙는데

어떤 경우에 document. 을 붙여야 하는건가요??

?
  • ?
    관리자 2020.07.31 09:55
    1. button은 다음과 같이 선언된 변수이고, "button"이라는 id를 가진 태그(DOM 객체)를 찾아서 그 주소를 가지고 있습니다.
    var button = document.getElementById("button");

    그래서 다음 코드는 button 변수가 가리키는 DOM 객체의 멤버 함수 addEventListener()를 호출하는 코드입니다.
    button.addEventListener("click", bubble, false); // 버블 단계(2)

    2. body 앞에 document가 붙은 것은 다음과 같은 이유입니다.
    책 352페이지의그림 8-4를 참고하세요. body객체는 document 객체의 자식입니다.
    브라우저가 웹 페이지를 적재하면 그림 8-4의 모양이 되는 것이기 때문에, 그것을 그냥 받아들이고 이해해야 합니다.
    그래서, body 객체를 액세스하려면 document.body라는 방식으로 표현합니다.
    그림 8-4에 등장하는 모든 것들이 다 DOM 객체입니다.
    모든 DOM 객체는 공통적으로 챌책 353페이지~354페이지의 요소들을 가지고, 표 8-1의 프로퍼티들(멤버 변수들)과 표8-2의 메소드(멤버 함수)들을 가집니다.
    표 8-2에 보면 addEventListener() 메소드가 있는데
    document.body.addEventListener("click", bubble, false); 은 이것을 호출하는 코드입니다.

    3. 그래서
    button.addEventListener("click", bubble, false); // 버블 단계(2)
    ---> 이코드를 다음과 같이 해도 됩니다.
    document.getElementById("button").addEventListener("click", bubble, false); // 버블 단계(2)
  • ?
    모르겠어요 2020.07.31 13:10
    친절한 답변 너무 감사드립니다~^^

QnA

공부하면서 궁금했던 것을 질문해보세요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 읽어주세요! 연습문제 및 실습문제 정답 공개에 관한 공지입니다. file 관리자 2017.06.20 18304
283 7장 실습문제 8번에서 질문입니다 1 JAVAscript공부중이에요 2020.05.27 410
282 답안이 없는 책이라니 ;;; 2 이준석 2018.11.01 408
281 2장 예제 2-11과 관련하여 질문 드립니다. 1 조근석 2017.04.30 398
280 r/w는 무슨 뜻인가요? 1 ㅇㅁㅇㅈ 2021.12.22 396
279 오픈챌린지 4장 질문 1 littlelion 2018.04.18 390
278 8장 실습문제 2번 (2),(3) 어떻게해야하나여? 5 187104343 2018.11.08 380
277 9장 3번 질문 있습니다. 2 jonjsin 2017.11.23 380
276 10장 window.open 질문입니다. 1 멍청이 2019.08.23 379
275 8장 실습문제8번 질문있습니다. 1 빼빼로 2018.11.15 372
274 open challenge10 관련 질문드립니다 1 궁금해용 2018.05.16 368
273 5장 실습문제 4-2질문 2 어어엉 2017.11.12 367
272 실습문제 짝수번 이미지들은 다운할 수 없나요? 공부하면성공한다 2018.10.02 366
271 9장 예제 9-10질문입니다. 2 file 삼오칠 2021.05.14 365
270 377page 8장 오픈챌린지 질문입니다.(다시 질문 올립니다.) 2 멍청이 2019.08.15 359
269 예제 5-3 220page 2 호기심 2020.04.16 355
268 9장 실습문제 10번 계산기 만들기 2 호탱 2020.11.29 354
267 html에 css작성할때 2 궁금이 2020.03.03 353
266 7장 오픈챌린지 1 질문이요 2018.12.18 344
265 7장 6번문제 질문있습니다. 2 초심자 2018.09.26 340
264 오랜만에 찾아 뵙습니다.. 3 은성 2017.05.10 338
목록
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 11 ... 21 Next
/ 21
위로