Skip to main content

useLongPress

Enable precise control of long-press interactions for both touch and mouse events with useLongPress.

Usage

Live Editor
function App() {
	const buttonRef = useRef(null);

	const onLongPress = () => {
		console.log("Long press triggered!");
		alert("Long press triggered!");
	};

	const onPress = () => {
		console.log("Press started!");
	};

	const onRelease = () => {
		console.log("Press released!");
	};

	useLongPress(buttonRef, {
		threshold: 1500,
		onLongPress,
		onPress,
		onRelease,
	});

	return <button ref={buttonRef}>Long Press Me</button>;
}
Result
Loading...

API

Parameters

  • ref : elementRef - The ref to the element to track long press interactions.
  • options : LongPressOptions - An object with the following properties:
    • threshold : number - The time in milliseconds to trigger the long press event. Defaults to 500ms.
    • onLongPress : () => void - The function to call when the long press event is triggered.
    • onPress : () => void - The function to call when the press event starts.
    • onRelease : () => void - The function to call when the press event is released.