Skip to content

25 - 鼠标坐标 #2284

Open
Open
@ExileEver

Description

@ExileEver
<script setup lang="ts">
import { reactive, onMounted, onUnmounted, toRefs } from 'vue';

// Implement ...
function useEventListener(target, event, callback) {
  onMounted(() => {
    target.addEventListener(event, callback);
  });
  onUnmounted(() => {
    target.removeEventListener(event);
  });
}

// Implement ...
function useMouse() {
  const point = reactive({
    x: 0,
    y: 0,
  });
  useEventListener(window, 'mousemove', (e) => {
    (point.x = e.clientX), (point.y = e.clientY);
  });
  return toRefs(point);
}
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