跳到内容

useActiveElement

类别
导出大小
1.02 kB
最后更改
3 周前

响应式 document.activeElement

演示

选择下面的输入框以查看更改
当前活动元素: null

用法

js
import { useActiveElement } from '@vueuse/core'

const activeElement = useActiveElement()

watch(activeElement, (el) => {
  console.log('focus changed to', el)
})

组件用法

此函数还通过 @vueuse/components 包提供了一个无渲染组件版本。 了解更多关于用法的信息

vue
<template>
  <UseActiveElement v-slot="{ element }">
    Active element is {{ element.dataset.id }}
  </UseActiveElement>
</template>

类型声明

typescript
export interface UseActiveElementOptions
  extends ConfigurableWindow,
    ConfigurableDocumentOrShadowRoot {
  /**
   * Search active element deeply inside shadow dom
   *
   * @default true
   */
  deep?: boolean
  /**
   * Track active element when it's removed from the DOM
   * Using a MutationObserver under the hood
   * @default false
   */
  triggerOnRemoval?: boolean
}
/**
 * Reactive `document.activeElement`
 *
 * @see https://vueuse.org.cn/useActiveElement
 * @param options
 */
export declare function useActiveElement<T extends HTMLElement>(
  options?: UseActiveElementOptions,
): ShallowRef<T | null | undefined, T | null | undefined>

源码

SourceDemoDocs

贡献者

Anthony Fu
Anthony Fu
Dominik Pschenitschni
IlyaL
Fernando Fernández
Ben Lau
Alex
Jake Tigchelaar
duoduoObama
vaakian X
James Garbutt
vaakian X
wheat
Alex Kozack

更新日志

v12.4.0 于 1/10/2025
dd316 - feat: use passive event handlers everywhere is possible (#4477)
v12.3.0 于 1/2/2025
08cf5 - feat(onElementRemoval): new function, refactor useActiveElement useElementHover (#4410)
v12.0.0-beta.1 于 11/21/2024
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v10.10.0 于 5/27/2024
f3515 - feat: add triggerOnRemoval option (#3958)
v10.9.0 于 2/27/2024
b1426 - fix(useActiveElement/useFocusWithin): replace computedWithControl with locally tracked ref (#3815)
v10.3.0 于 7/30/2023
296dc - feat: search deeply in shadow dom (#3208)

根据 MIT 许可证发布。