[Bootstrap] 모달창 오픈시 백그라운드(메인 화면) 스크롤 금지 최종 버전

페이지 정보

루루아빠 0 138 0
2018.05.16 22:31

평점

본문

모달창 오픈시 백그라운드(메인 화면) 스크롤 금지 최종 버전
최근 브라우저가 업데이트된 후 기존 방법은 문제가 있어 아래와 같은 방법으로 수정하였다.

최종 스크립트
<script type="text/javascript">
function preventDefault(e) {
  e = e || window.event;
  if (e.preventDefault)
      e.preventDefault();
  e.returnValue = false;
}

function theMouseWheel(e) {
  preventDefault(e);
}

function disable_scroll() {
  if (window.addEventListener) {
      window.addEventListener('DOMMouseScroll', theMouseWheel, false);
  }
  window.onmousewheel = document.onmousewheel = theMouseWheel;
}

function enable_scroll() {
    if (window.removeEventListener) {
        window.removeEventListener('DOMMouseScroll', theMouseWheel, false);
    }
    window.onmousewheel = document.onmousewheel = null;
}

$(function () {
  $(".modal").on('shown.bs.modal', function () {disable_scroll();});
  $(".modal").on('hidden.bs.modal', function () {enable_scroll();});
});

댓글

첫 번째 댓글을 남겨주세요