스크롤을 막기 위한 방법 중 어떤 것이 더 효과적일까?🤔
실제 사용해보면서 추가로 알게 된 방법과 기존의 방법을 비교해보며 장단점을 정리해봤다.
장점
단점
position: fixed를 사용하지 않는 경우 레이아웃이 변경될 수 있다.// 스크롤 막기
document.body.style.overflow = 'hidden';
// 스크롤 다시 활성화
document.body.style.overflow = '';
장점
단점
function preventDefault(e) {
e.preventDefault();
}
// 스크롤 막기
function disableScroll() {
document.addEventListener('wheel', preventDefault, { passive: false });
document.addEventListener('touchmove', preventDefault, { passive: false });
}
// 스크롤 다시 활성화
function enableScroll() {
document.removeEventListener('wheel', preventDefault);
document.removeEventListener('touchmove', preventDefault);
}
// 스크롤 막기
disableScroll();
// 스크롤 다시 활성화
// enableScroll();
[더 좋은 코드 발견시, 추가 수정!]