Skip to content

useClickOutside ​

Hook to handle click events outside the specified target element(s)

sensors
test coverage
Last changed: last month

Installation ​

Library
CLI
Manual
typescript
import { useClickOutside } from '@siberiacancode/reactuse';

Usage ​

typescript
useClickOutside(ref, () => console.log('click outside'));
// or
const ref = useClickOutside<HTMLDivElement>(() => console.log('click outside'));

Demo ​

Api ​

Parameters

NameTypeDefaultNote
targetHookTarget-The target element(s) to detect outside clicks for
callback(event: Event) => void-The callback to execute when a click outside the target is detected

Returns

void

Parameters

NameTypeDefaultNote
callback(event: Event) => void-The callback to execute when a click outside the target is detected

Returns

(node: Target) => void

Type declaration ​

typescript
import type { HookTarget } from '@/utils/helpers';

import type { StateRef } from '../useRefState/useRefState';

export interface UseClickOutside {
  (target: HookTarget, callback: (event: Event) => void): void;

  <Target extends Element>(callback: (event: Event) => void, target?: never): StateRef<Target>;
}

Source ​

Source • Demo

Contributors ​

D
debabin
debabin
H
hywax
hywax
Y
yrsluv
yrsluv

Released under the MIT License.