Skip to content

Instantly share code, notes, and snippets.

@Lee182
Created April 5, 2017 09:49
Show Gist options
  • Save Lee182/58872c9cac8fbfce5ff3c63c07837ddf to your computer and use it in GitHub Desktop.
Save Lee182/58872c9cac8fbfce5ff3c63c07837ddf to your computer and use it in GitHub Desktop.
function scrollControl() {
// left: 37, up: 38, right: 39, down: 40,
// spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36
var keys = {37: 1, 38: 1, 39: 1, 40: 1}
function preventDefault(e){
e.preventDefault()
e.returnValue = false
}
function preventDefaultForScrollKeys(e) {
if (keys[e.keyCode]) {
preventDefault(e)
return false
}
}
function disableScroll(){
window.addEventListener('wheel', preventDefault)
window.addEventListener('touchmove', preventDefault)
window.addEventListener('mousewheel', preventDefault)
document.addEventListener('keydown', preventDefaultForScrollKeys)
}
function enableScroll(){
window.removeEventListener('wheel', preventDefault)
window.removeEventListener('touchmove', preventDefault)
window.removeEventListener('mousewheel', preventDefault)
document.removeEventListener('keydown', preventDefaultForScrollKeys)
}
return {
enable: enableScroll,
disable: disableScroll
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment