useClickOutside API
API reference for the useClickOutside composable.
Related
Explore these related pages for additional context and usage patterns.
| Page | Category |
|---|---|
| useClickOutside | System |
| useEventListener | System |
Functions
useClickOutside
(target: MaybeArray<ClickOutsideTarget>, handler: (event: PointerEvent | FocusEvent) => void, options?: UseClickOutsideOptions) => UseClickOutsideReturnDetects 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 | undefinedUse capture phase for event listeners. Ensures detection works even when inner elements call stopPropagation.
Default: true
touchScrollThreshold
number | undefinedTouch 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 | undefinedDetect focus moving to iframes as an outside click. Useful when iframes are outside the target elements.
Default: false
ignore
MaybeRefOrGetter<ClickOutsideIgnoreTarget[]> | undefinedElements 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 | undefinedUse 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 <dialog> elements where backdrop clicks have the dialog as target.
Default: false