2016-08-05 2 views
0

모달 윈도우를 만들었습니다. X 버튼을 클릭하면 닫힙니다. 하지만 사용자가 모달 밖을 클릭하면 닫을 수 있습니다. 이전 이벤트 핸들러를 치는 것을 방지하기 위해 모달을 차단하면서,외부 클릭으로 자신의 모달을 닫는 방법?

function close(){ 
    $("body").addClass("noscroll"); 
    $(".modal").addClass("is-active"); 
    $(".modal_overlay").addClass("is-active"); 
} 
$("a[href='#modal']").click(function(e) { 
    e.preventDefault(); 
    close(); 
}); 
$(".modal .close").click(function(e) { 
    e.preventDefault(); 
    if($(".modal").hasClass("is-active")) { 
     close(); 
    } 
}); 
$(window).click(function(e) { 
     close(); 
     return false; 
}); 
$(".modal").click(function(){ 
    return false; // prevents a click in dialog to close the modal 
}); 

그냥 모달을 닫으려면 창에서 클릭을 처리

$("a[href='#modal']").click(function(e) { 
     e.preventDefault(); 
     $("body").addClass("noscroll"); 
     $(".modal").addClass("is-active"); 
     $(".modal_overlay").addClass("is-active"); 
    }); 
    $(".modal .close").click(function(e) { 
     e.preventDefault(); 
     if($(".modal").hasClass("is-active")) { 
      $("body").removeClass("noscroll"); 
      $(".modal").removeClass("is-active"); 
      $(".modal_overlay").removeClass("is-active"); 
     } 
    }); 

답변

0

는 여기에 솔루션입니다.

관련 문제