addClass와 removeClass를 이용해 간단한 팝업 창을 만들었는데
span tag 안에 있는 닫기 버튼이 안되는데
이유를 모르겠어요 ㅠㅠ
span의 parents나 closest을 이용해서도 해봤는데 안되네요
고수님들 좀 도와주세요~~
Comment 2
-
항해자™
2017.02.08 14:27
-
항해자™
2017.02.08 14:28
close를 클릭하면 아래 click 이벤트와 윗쪽 click 이벤트가 순서대로 실행됩니다.
그래서 실제로 "on" class가 제거 되엇다가 다시 생성되서, 팝업이 사라지지 않는 것 처럼 보이는 것 입니다,,,
아래와 같이, 클릭 범위를 제한하는 스크립트를 아랫쪽 click 이벤트에 추가하시면 되겟네요,,
$(function() { $("section>ul>li").on("click",function() { $("section>ul>li").removeClass("on"); $(this).addClass("on"); }); $("span").on("click",function() { // $("section>ul>li").removeClass("on"); // $("section>ul>li").css({"background":"red"}); // $(this).parents("li").removeClass("on"); $(this).closest("li").removeClass("on"); event.stopPropagation(); }); });
클릭 이벤트가 겹치고 잇는것 같습니다,,,
popup.js 에 보면, 2개의 클릭 이벤트가 등록되어 잇는데,
범위 제한을 하지 않으셔서 2개의 클릭 이벤트가 순서적으로 발생하고 잇습니다.
클릭 이벤트 제한은 구글링 조금만 하시면 찾을 수 잇을 듯 합니다,,,