跳到内容

useElementHover

类别
导出大小
650 B
上次更改
5 天前

响应式元素悬停状态。

演示

用法

vue
<script setup lang="ts">
import { useElementHover } from '@vueuse/core'
import { useTemplateRef } from 'vue'

const myHoverableElement = useTemplateRef<HTMLButtonElement>('myHoverableElement')
const isHovered = useElementHover(myHoverableElement)
</script>

<template>
  <button ref="myHoverableElement">
    {{ isHovered }}
  </button>
</template>

指令用法

此函数还通过 @vueuse/components 包提供指令版本。 了解更多关于用法的信息

vue
<script setup lang="ts">
import { vElementHover } from '@vueuse/components'
import { shallowRef } from 'vue'

const isHovered = shallowRef(false)
function onHover(state: boolean) {
  isHovered.value = state
}
</script>

<template>
  <button v-element-hover="onHover">
    {{ isHovered ? 'Thank you!' : 'Hover me' }}
  </button>
</template>

您还可以提供悬停选项

vue
<script setup lang="ts">
import { vElementHover } from '@vueuse/components'
import { shallowRef } from 'vue'

const isHovered = shallowRef(false)
function onHover(hovered: boolean) {
  isHovered.value = hovered
}
</script>

<template>
  <button v-element-hover="[onHover, { delayEnter: 1000 }]">
    <span>{{ isHovered ? 'Thank you!' : 'Hover me' }}</span>
  </button>
</template>

类型声明

typescript
export interface UseElementHoverOptions extends ConfigurableWindow {
  delayEnter?: number
  delayLeave?: number
  triggerOnRemoval?: boolean
}
export declare function useElementHover(
  el: MaybeRefOrGetter<EventTarget | null | undefined>,
  options?: UseElementHoverOptions,
): ShallowRef<boolean>

源代码

源代码演示文档

贡献者

Anthony Fu
IlyaL
Anthony Fu
webfansplz
Ben Lau
Joaquín Sánchez
Jelf
geekreal
cx33
Joe Maylor

更新日志

v12.8.0 发布于 2025/3/5
7432f - feat(types): 弃用 MaybeRefMaybeRefOrGetter,转而使用 Vue 的原生类型 (#4636)
v12.3.0 发布于 2025/1/2
08cf5 - feat(onElementRemoval): 新函数,重构 useActiveElement useElementHover (#4410)
v12.0.0-beta.1 发布于 2024/11/21
0a9ed - feat!: 移除 Vue 2 支持,优化捆绑包并清理 (#4349)
v11.0.0-beta.2 发布于 2024/7/17
cf439 - feat: 为指令添加选项 (#3897)
v10.0.0-beta.4 发布于 2023/4/13
4d757 - feat(types)!: 将 MaybeComputedRef 重命名为 MaybeRefOrGetter
v10.0.0-beta.0 发布于 2023/3/14
c86f2 - fix: window 未定义 (#2793)
v9.13.0 发布于 2023/2/18
23283 - feat: 为 Hook 提供延迟属性 (#2741)

在 MIT 许可证下发布。