Skip to content

25 - 鼠标坐标 #1986

Open
Open
@gaoshunpeng

Description

@gaoshunpeng
<script setup lang="ts">
import { ref, onMounted, onUnmounted } from "vue"

// Implement ...
function useEventListener(target: EventTarget, event: string, callback: EventListenerOrEventListenerObject) {
  onMounted(() => target.addEventListener(event, callback))
  onUnmounted(() => target.removeEventListener(event, callback))
}

// Implement ...
function useMouse() {
  let x = ref(0)
  let y = ref(0)
  useEventListener(window, "mousemove", (event: MouseEvent) => {
    x.value = event.pageX;
    y.value = event.pageY;
  })
  return {x, y}
}
const { x, y } = useMouse()
</script>

<template>Mouse position is at: {{ x }}, {{ y }}</template>

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions