useMousePressed

Tags:

A React Hook that tracks mouse pressed state.

Demo

Source
Mouse Pressed:
false
Source Type:
null
Mouse Pressed (target):
false
Source Type (target):
null
Target

Usage

See API for more details.

Source

Click links below to view source on GitHub.

API

const { pressed, sourceType } = useMousePressed(elementTarget, options)

ElementTarget

ElementTarget is a union type that represents various kinds of elements that can be targeted.

See ElementTarget or ElementTarget Types for more details.

Options

export type MousePressedOptions = {
  /**
   * Whether to listen to touch events
   *
   * @defaultValue true
   */
  touch?: boolean
  /**
   * Whether to listen to drag events
   *
   * @defaultValue true
   */
  drag?: boolean
  /**
   * Whether to use event capturing
   *
   * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#capture MDN - addEventListener#capture}
   *
   * @defaultValue false
   */
  capture?: boolean
  /**
   * The initial value of the mouse press
   *
   * @defaultValue false
   */
  initialValue?: boolean
  /**
   * The target element
   *
   * @defaultValue () => window
   */
  target?: ElementTarget
}

Returns

export type UseMousePressedReturns = {
  /**
   * Whether the mouse is pressed
   */
  pressed: boolean
  /**
   * The source type of the mouse press
   */
  sourceType: UseMouseSourceType
}