반응형
리액트로 2048을 만들어보면서 키보드로 조작하는 거에다가 터치 지원도 추가해봤는데 실제로 스마트폰에서 테스트해보니 아래로 쓸어내리는 제스처와 밑으로 당겨서 새로고침이 겹쳐서 새로고침 되는 문제가 있었다. 해결법을 찾아보니 CSS로 간단하게 해결할 수 있었다.
body {
overscroll-behavior-y: none;
}
위처럼 속성 하나만 추가해주면 된다. 글이 너무 짧으니 조금 설명하자면 overscroll-behavior
속성은 스크롤 끝에 도달했을 때 브라우저의 동작을 제어하는 속성이다. 기본값은 auto
로 스크롤 끝에 도달하면 상위 요소가 스크롤 된다. contain
으로 지정하면 스크롤 체인이 방지되어 스크롤 끝에 도달하더라도 상위 요소로 전파되지 않는다. none
은 브라우저 기본 오버 스크롤 동작까지 막는다.
반드시 body 태그에 위 속성을 줘야 당겨서 새로고침 기능이 작동하지 않는다. 다른 곳에 넣으면 효과 없음... 무조건 페이지 전체에 적용해야 하는 게 별로라면 자바스크립트로 동적으로 속성을 조절하면 된다.
document.body.style.overscrollBehaviorY = 'none';
대충 이렇게?
반응형
'프로그래밍 > 웹' 카테고리의 다른 글
[자작] parcel-transformer-interpolate-html (0) | 2022.01.14 |
---|---|
[자작] snowpack-plugin-sitemap (0) | 2021.12.25 |
[Node.js] 자바스크립트에서 csv 파일 생성 시 한글 깨짐 문제 해결 (0) | 2021.10.22 |
[Node.js] 외부 프로그램 실행하고 결과 출력하기 (0) | 2021.07.30 |
[자작] 광운대 공지사항 RSS (2) | 2021.04.17 |
[jQuery] serializeObject (0) | 2021.02.20 |
JS 패키지 비교 분석 사이트, Openbase (0) | 2021.02.07 |
[JavaScript] fetch로 form data 보내기 (5) | 2021.01.30 |