---
title: useOutsideClick
package: '@chakra-ui/hooks'
description: 'React hook to detect clicks outside of a specified element.'
---

`useOutsideClick` is a custom hook that handles click events outside a specific
DOM element, like a `div`. A handler is invoked when a click or touch event
happens outside the referenced element.

> This hook is compatible with mouse and touch events.

## Import

```js
import { useOutsideClick } from '@chakra-ui/react'
```

## Usage

```jsx
function Example() {
  const ref = React.useRef()
  const [isModalOpen, setIsModalOpen] = React.useState(false)
  useOutsideClick({
    ref: ref,
    handler: () => setIsModalOpen(false),
  })

  return (
    <>
      {isModalOpen ? (
        <div ref={ref}>
          👋 Hey, I'm a modal. Click anywhere outside of me to close.
        </div>
      ) : (
        <button onClick={() => setIsModalOpen(true)}>Open Modal</button>
      )}
    </>
  )
}
```

## Parameters

The `useOutsideClick` hook accepts an object with the following properties:

<PropsTable of='useOutsideClick' />
