MCPcopy Create free account
hub / github.com/code100x/cms / useClickOutside

Function useClickOutside

src/hooks/useClickOutside.ts:3–19  ·  view source on GitHub ↗
(
  ref: RefObject<HTMLElement>,
  handler: (event: MouseEvent) => void,
)

Source from the content-addressed store, hash-verified

1import { RefObject, useEffect } from 'react';
2
3const useClickOutside = (
4 ref: RefObject<HTMLElement>,
5 handler: (event: MouseEvent) => void,
6) => {
7 useEffect(() => {
8 const handleClickOutside = (event: MouseEvent) => {
9 if (ref.current && !ref.current.contains(event.target as Node)) {
10 handler(event);
11 }
12 };
13
14 document.addEventListener('mousedown', handleClickOutside);
15 return () => {
16 document.removeEventListener('mousedown', handleClickOutside);
17 };
18 }, [ref, handler]);
19};
20
21export default useClickOutside;

Callers 1

SearchBarFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected