Skip to main content
Vuetify0 v1.0 is here
Vuetify0 Logo
Theme
Mode
Palettes
Accessibility
Vuetify One
Sign in to Vuetify One

Access premium tools across the Vuetify ecosystem — Bin, Play, Studio, and more.

Not a subscriber? See what's included

useClickOutside API

A composable for detecting clicks outside of specified element(s) with automatic cleanup.

Explore these related pages for additional context and usage patterns.

PageCategory
useClickOutsideSystem
useEventListenerSystem

Functions

useClickOutside

(target: MaybeArray<ClickOutsideTarget>, handler: (event: PointerEvent | FocusEvent) => void, options?: UseClickOutsideOptions) => UseClickOutsideReturn

Detects clicks outside of the specified element(s). Uses two-phase detection (pointerdown → pointerup) to prevent false positives when users drag from inside to outside an element.

Options

capture

boolean | undefined

Use capture phase for event listeners. Ensures detection works even when inner elements call stopPropagation.

Default: true

touchScrollThreshold

number | undefined

Touch movement threshold in pixels. If finger moves more than this distance, it's treated as a scroll, not a tap. Only applies to touch interactions.

Default: 30

detectIframe

boolean | undefined

Detect focus moving to iframes as an outside click. Useful when iframes are outside the target elements.

Default: false

ignore

MaybeRefOrGetter<ClickOutsideIgnoreTarget[]> | undefined

Elements to ignore when detecting outside clicks. Accepts element refs, getters, or CSS selector strings. Clicks on these elements (or their descendants) won't trigger the handler. Note: CSS selectors cannot match across Shadow DOM boundaries due to browser limitations. Use element refs instead when ignoring shadow hosts.

bounds

boolean | undefined

Use bounding rect instead of DOM containment to detect outside clicks. When true, checks if click coordinates are outside the element's bounding box. Useful for native

elements where backdrop clicks have the dialog as target.

Default: false

Properties

isActive

Readonly<Ref<boolean, boolean>>

Whether the listener is currently active

isPaused

Readonly<Ref<boolean, boolean>>

Whether the listener is currently paused

Methods

pause

() => void

Pause listening (stops detection but keeps state)

resume

() => void

Resume listening

stop

() => void

Stop listening and clean up

Was this page helpful?

© 2016-1970 Vuetify, LLC
Services
Ctrl+/