grungnet/src/hooks/usePreventOverscroll.ts
Mitchell McCaffrey c7b8990a7b Typescript
2021-07-16 16:58:14 +10:00

26 lines
651 B
TypeScript

import React, { useEffect } from "react";
function usePreventOverscroll(elementRef: React.RefObject<HTMLElement>) {
useEffect(() => {
// Stop overscroll on chrome and safari
// also stop pinch to zoom on chrome
function preventOverscroll(event: WheelEvent) {
event.preventDefault();
}
const element = elementRef.current;
if (element) {
element.addEventListener("wheel", preventOverscroll, {
passive: false,
});
}
return () => {
if (element) {
element.removeEventListener("wheel", preventOverscroll);
}
};
}, [elementRef]);
}
export default usePreventOverscroll;