프로그래밍/jQuery & javaScript

[jQuery] 키보드 스크롤 막기

밍구몬 2022. 4. 13. 16:45

키보드에서 ↑ ↓ ← → 를 누르면 스크롤 막는게 필요하여 찾아보았더니 body에 overflow를 hidden, height를 100%로 주고 body이벤트로 이벤트를 취소하는 스크립트를 만들라고 나와있엇다.

 

나는 정상적으로 동작하지 않았고 필요한 기능은 방향키를 눌렀을 때 스크롤이 되지 않도록 하는 기능이였다.

 

방향키 스크롤을 막는 방법은 간단하다.

$(document).keydown(function(event){
	if(event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 37 || event.keyCode == 39){
		console.log(event);
		event.preventDefault();
	}
});

 

위와 같이 키보드를 눌렀을 때 keyCode가 38

(↑), 40(↓), 37(←), 39(→)이면 이벤트가 동작하지 않게 해주면 된다.

 

위, 아래 스크롤만 막는다면 keyCode가 38(↑), 40(↓)인 것만 막아주면 된다.