Category | Elements |
---|---|
Export Size | 1.08 kB |
Last Changed | 3 months ago |
Reactive mouse position related to an element
<template> <div ref="target"> <h1>Hello world</h1> </div> </template> <script> import { ref } from 'vue' import { useMouseInElement } from '@vueuse/core' export default { setup() { const target = ref(null) const { x, y, isOutside } = useMouseInElement(target) return { x, y, isOutside } } } </script>
This function also provides a renderless component version via the
@vueuse/components
package. Learn more about the usage.
<UseMouseInElement v-slot="{ elementX, elementY, isOutside }"> x: {{ elementX }} y: {{ elementY }} Is Outside: {{ isOutside }} </UseMouseInElement>
export interface MouseInElementOptions extends UseMouseOptions { handleOutside?: boolean } /** * Reactive mouse position related to an element. * * @see https://vueuse.org/useMouseInElement * @param target * @param options */ export declare function useMouseInElement( target?: MaybeElementRef, options?: MouseInElementOptions ): { x: Ref<number> y: Ref<number> sourceType: Ref<UseMouseSourceType> elementX: Ref<number> elementY: Ref<number> elementPositionX: Ref<number> elementPositionY: Ref<number> elementHeight: Ref<number> elementWidth: Ref<number> isOutside: Ref<boolean> stop: () => void } export type UseMouseInElementReturn = ReturnType<typeof useMouseInElement>
© 2019-present Anthony Fu
Licensed under the MIT License.
https://vueuse.org/core/useMouseInElement/