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
| 參數名 | 描述 | 類型 | 預設值 |
|---|---|---|---|
| target | dom对象 | BasicTarget<Element> | - |
| options | 可选参数 | UseMousePressedOptions | undefined | - |
UseMousePressedOptions
| 參數名 | 描述 | 類型 | 預設值 |
|---|---|---|---|
| touch | 监听 touchstart 事件 | boolean | true |
| drag | 监听 dragStart 事件 | boolean | true |
| 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;