跳至主要内容

useMousePressed

跟蹤滑鼠按下狀態

Usage

即時編輯器

function Demo() {
  const [mouse, type] = useMousePressed();

  return (
    <div>
      <p>按下狀態:{JSON.stringify(mouse)}</p>
      <p>來源類型:{JSON.stringify(type)}</p>
    </div>
  );
};

結果
Loading...

API

useMousePressed

Returns

readonly [boolean, UseMousePressedSourceType]: 包含以下元素的元組:

  • 滑鼠是否按下。
  • 按下的事件來源。

Arguments

參數名描述類型預設值
targetdom对象BasicTarget<Element>-
options可选参数UseMousePressedOptions | undefined-

UseMousePressedOptions

參數名描述類型預設值
touch监听 touchstart 事件booleantrue
drag监听 dragStart 事件booleantrue
initialValue初始值boolean | (() => boolean)false

UseMousePressedSourceType

Type

export type UseMousePressedSourceType = 'mouse' | 'touch' | null

BasicTarget

export type BasicTarget<T extends TargetType = Element> = (() => TargetValue<T>) | TargetValue<T> | MutableRefObject<TargetValue<T>>;

TargetValue

type TargetValue<T> = T | undefined | null;

TargetType

type TargetType = HTMLElement | Element | Window | Document | EventTarget;