# utils/dom/emittermixin

module

<a id="interfaces">

## Interfaces

<a id="interface-DomEmitter">

### `DomEmitter`

<a id="interface-DomEventMap">

### `DomEventMap`

<a id="type-definitions">

## Type Definitions

<a id="typedef-DomEmitterMixinConstructor">

### `DomEmitterMixinConstructor`

<a id="functions">

## Functions

<a id="function-DomEmitterMixin:EXTENDS">

### `DomEmitterMixin( base ) → DomEmitterMixinConstructor<Base>`

Mixin that injects the DOM events API into its host. It provides the API compatible with [`Emitter`](module_utils_emittermixin-Emitter.md).

This function creates a class that inherits from the provided `base` and implements `Emitter` interface.

DOM emitter mixin is by default available in the [`View`](module_ui_view-View.md) class, but it can also be mixed into any other class:

```typescript
import { DomEmitterMixin } from '../utils/dom/emittermixin.js';

class BaseClass { ... }

class SomeView extends DomEmitterMixin( BaseClass ) {}

const view = new SomeView();
view.listenTo( domElement, ( evt, domEvt ) => {
	console.log( evt, domEvt );
} );
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-utils/src/dom/emittermixin.ts#L70)

#### Type parameters

* `Base: extends Constructor<Emitter>`

#### Parameters

* `base: Base`

#### Returns

* `DomEmitterMixinConstructor<Base>`

<a id="function-DomEmitterMixin:NO_ARGUMENTS">

### `DomEmitterMixin() → DomEmitterMixinConstructor`

Mixin that injects the DOM events API into its host. It provides the API compatible with [`Emitter`](module_utils_emittermixin-Emitter.md).

This function creates a class that implements `Emitter` interface.

DOM emitter mixin is by default available in the [`View`](module_ui_view-View.md) class, but it can also be mixed into any other class:

```typescript
import { DomEmitterMixin } from '../utils/dom/emittermixin.js';

class SomeView extends DomEmitterMixin() {}

const view = new SomeView();
view.listenTo( domElement, ( evt, domEvt ) => {
	console.log( evt, domEvt );
} );
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-utils/src/dom/emittermixin.ts#L94)

#### Returns

* `DomEmitterMixinConstructor`

---

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