Skip to content
On this page

useMouse

优雅监听鼠标位置的 Hook。

代码演示

基础用法

获取鼠标相对于元素的位置

API

const state: {
  screenX: number,
  screenY: number,
  clientX: number,
  clientY: number,
  pageX: number,
  pageY: number,
  elementX: number,
  elementY: number,
  elementH: number,
  elementW: number,
  elementPosX: number,
  elementPosY: number,
} = useMouse(target?: Target);
const state: {
  screenX: number,
  screenY: number,
  clientX: number,
  clientY: number,
  pageX: number,
  pageY: number,
  elementX: number,
  elementY: number,
  elementH: number,
  elementW: number,
  elementPosX: number,
  elementPosY: number,
} = useMouse(target?: Target);

Params

参数说明类型
targetDOM 节点或者 RefElement | () => Element | JSX.Element

Result

参数说明类型
screenX距离显示器左侧的距离number
screenY距离显示器顶部的距离number
clientX距离当前视窗左侧的距离number
clientY距离当前视窗顶部的距离number
pageX距离完整页面左侧的距离number
pageY距离完整页面顶部的距离number
elementX距离指定元素左侧的距离number
elementY距离指定元素顶部的距离number
elementH指定元素的高number
elementW指定元素的宽number
elementPosX指定元素距离完整页面左侧的距离number
elementPosY指定元素距离完整页面顶部的距离number

Source

源码文档示例