• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 이벤트 위임이 뭔가요?!

이벤트 위임이 뭔가요?!

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #118258

    양희준
    참가자
    $.get('store.json').done(function(data){
        console.log(data);
        // `data.items` 대신 `data.products`를 사용해야 합니다.
        data.products.forEach((a,i)=>{
            var 템플릿 = 
            `<div class="card">
                <div class="card">< img src="${a.photo}">
                  <p class="card-text">${a.title}</p>
                  <p>${a.brand}</p>
                  <p>가격 : ${a.price}</p>
                </div>
                <button type="button" class="btn btn-danger btn-jang" id="products${i}">담기</button>
            </div>`;
            $('.card-box').append(템플릿);
        });
    });
    // 이벤트 위임을 사용하여 동적으로 생성된 버튼에 이벤트 리스너를 설정합니다.
    $(document).on('click', '.btn-jang', function(){
        var buttonId = $(this).attr("id");
        switch (buttonId) {
          case 'products0':
            console.log('1임!');
            break;
          case 'products1':
            console.log('2임!');
            break;
          case 'products2':
            console.log('3임!');
            break;
          case 'products3':
            console.log('4임!');
            break;
          default:
            console.log('암것도 아님!');
        }
    });
    
    js강의 마지막 예제 하면서 담기버튼 누르면 밑에 장바구니에 담기게 하는거 테스트 중에 안되가지고 채찍피티한테 물어봤더니 이벤트 위임 어쩌구 하면서 이렇게 바꿔줍니다.
    근데 이벤트 위임이란게 뭔지 잘 모르겠습니다.
    #118286

    codingapple
    키 마스터
    버튼이 늦게 생성되니까 이벤트리스너 안달려있어서 이벤트버블링식으로 쓰라는 소리같군요
    새로생성되는 주문버튼에 이벤트리스너 달아줘도 될듯요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠