Skip to content
On this page

useMouseMove

The mousemove event.

State

The useMouseMove function exposes the following reactive state:

typescript
import { useMouseMove } from '@elonehoo/pistachio'

const { mouseX, mouseY } = useMouseMove()
import { useMouseMove } from '@elonehoo/pistachio'

const { mouseX, mouseY } = useMouseMove()
StateTypeDescription
mouseXnumberMouse X position
mouseYnumberMouse Y position
pageXnumberPage X (opens new window)position
pageYnumberPage Y (opens new window)position

Methods

The useOnMouseMove function exposes the following methods:

typescript
import { useMouseMove } from '@elonehoo/pistachio'

const { remove } = useMouseMove()
import { useMouseMove } from '@elonehoo/pistachio'

const { remove } = useMouseMove()
SignatureDescription
removeManually removes the event listener

Example

Mouse Move

x: 0

y: 0

pageX: 0

pageY: 0

vue
<script setup lang="ts">
import { ref } from 'vue'
import { useMouseMove } from '@elonehoo/pistachio'

const elref = ref(null)

const { mouseX, mouseY, pageX, pageY, remove } = useMouseMove(elref)
</script>

<template>
  <div ref="elref">
    Mouse Move
    <p>x: {{ mouseX }}</p>
    <p>y: {{ mouseY }}</p>
    <p>pageX: {{ pageX }}</p>
    <p>pageY: {{ pageY }}</p>

    <button @click="remove">
      remove
    </button>
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'
import { useMouseMove } from '@elonehoo/pistachio'

const elref = ref(null)

const { mouseX, mouseY, pageX, pageY, remove } = useMouseMove(elref)
</script>

<template>
  <div ref="elref">
    Mouse Move
    <p>x: {{ mouseX }}</p>
    <p>y: {{ mouseY }}</p>
    <p>pageX: {{ pageX }}</p>
    <p>pageY: {{ pageY }}</p>

    <button @click="remove">
      remove
    </button>
  </div>
</template>

Released under the MIT License.