# ui/bindings/clickoutsidehandler

module

<a id="functions">

## Functions

<a id="function-clickOutsideHandler">

### `clickOutsideHandler( options = { options.activator, options.callback, options.contextElements, options.emitter, options.listenerOptions? } ) → void`

Handles clicking **outside** of a specified set of elements, then fires an action.

**Note**: Actually, the action is executed upon `mousedown`, not `click`. It prevents certain issues when the user keeps holding the mouse button and the UI cannot react properly.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-ui/src/bindings/clickoutsidehandler.ts#L27)

#### Parameters

* `options: object`

  Configuration options.

  Properties

  * `options.activator: () => boolean`

    Function returning a `Boolean`, to determine whether the handler is active.

  * `options.callback: () => void`

    An action executed by the handler.

  * `options.contextElements: Array<Element> | () => Array<Element>`

    Array of HTML elements or a callback returning an array of HTML elements that determine the scope of the handler. Clicking any of them or their descendants will **not** fire the callback.

  * `options.emitter: DomEmitter`

    The emitter to which this behavior should be added.

  * `options.listenerOptions?: CallbackOptions`

    Additional options for the listener (like priority).

#### Returns

* `void`

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
