disable-scroll

Prevent page scroll

Usage no npm install needed!

<script type="module">
  import disableScroll from 'https://cdn.skypack.dev/disable-scroll';
</script>

README

disable scroll

NPM version build status Maintainability Test Coverage

Prevent page scrolling like a boss.
Supports scroll, wheel, touchmove, keydown events.

Demo

Setup

npm

npm install --save disable-scroll

and import it

import disableScroll from 'disable-scroll';

Usage

disableScroll.on(); // prevent scrolling
...
disableScroll.off(); // re-enable scroll

If you need to support legacy browsers you need to include the scrollingelement polyfill.

API

.on(element?: Element, options?: Options)

Disable page scroll by adding event listeners and locking the scroll position.

Options defaults to:

{
    authorizedInInputs: [32, 37, 38, 39, 40],
    disableKeys: true,
    disableScroll: true,
    disableWheel: true,
    keyboardKeys: [32, 33, 34, 35, 36, 37, 38, 39, 40],
}

.off()

Re-enable page scrolling and remove the listeners.

Issues

If you find a bug, please file an issue on our issue tracker on GitHub.

License

MIT


Inspired by jquery-disablescroll