안녕하세요!
JavaScript 입문과 웹 UI개발 - 장바구니 기능과 localStorage 과제 진행 중 궁금한 부분이 생겨 질문 드립니다.
과제 내용은 상품 아래의 구매버튼을 누를 시 local storage에 상품명을 저장하는 건데
더보기를 눌러 추가한 항목은 $('.buy).on('click',addToCart) 를 적용받지 못해서 구매버튼을 눌러도 아무런 반응이 없었습니다.
아무래도 최초 로드 이후에 추가한 요소는 저 방식으로 이벤트리스너가 안붙는 것 같아서 이런 저런 방법을 시도하다가 찾은 해결책은
새로운 요소를 받아오고 추가할 때 마다 해당 forEach문 안에 $('.buy').last().on('click', addToCart); 를 넣어 이벤트리스너를 달아주는 것이었습니다.
그런데 아무리 봐도 저런 이벤트 리스너가 필요할 때 마다 동적으로 요소를 추가하는 곳을 다 찾아서 비슷한 짓을 해야 된다고 생각하니 확장성이 너무 떨어져 보입니다.
이리저리 검색해봐도 좋은 방법을 찾지 못했는데, 혹시 어떤 방식으로 이벤트리스너를 적용하는 것이 가장 좋은 방식일까요?