---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/event.Manager.md
  - https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/jsapi-v2-1/doc/ru/llms.txt

# event.Manager

Расширяет [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md).

Менеджер событий. При помощи менеджера событий можно подписываться на события и отписываться от них, а также инициировать сами события. Менеджер реализует возможность построения иерархии распространения событий с помощью метода event.Manager.setParent.

Распространение события происходит в три фазы:
- \1. Событие получают непосредственные подписчики;
- \2. Событие получают вышестоящие в иерархии объекты посредством перебрасывания события на родительском менеджере событий;
- \3. Событие получают обработчики действия по умолчанию посредством служебного события type + 'defaultaction'; действие по умолчанию выполняется, только если поле target события совпадает с контекстом менеджера событий.

Также менеджер позволяет добавлять обработчики событий с указанием приоритета. При бросании событий обработчики будут вызваны в порядке убывания приоритета.

Подписки с одинаковыми параметрами callback, context, но с разными приоритетами считаются разными. При удалении подписки необходимо указывать тот же приоритет, что и при добавлении.

[Конструктор](#constructor-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
event.Manager([params])
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`params`](#param-params) | — | Тип: Object

Параметры менеджера событий. ||
|| [`params.context`](#param-params.context) | — | Тип: Object

Контекстный объект менеджера событий. ||
|| [`params.controllers`](#param-params.controllers) | — | Тип: [IEventWorkflowController](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventWorkflowController.md)[]

Контроллер или контроллеры менеджера событий. ||
|| [`params.parent`](#param-params.parent) | — | Тип: [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md)

Родительский менеджер событий. ||
|#

## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [add](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#add)([types](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#add-param-types), [callback](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#add-param-callback)[, [context](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#add-param-context)[, [priority](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#add-param-priority)]]) | [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Добавляет новую подписку.

Унаследован от [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#add). ||
|| [createEventObject](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#createEventObject)([type](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#createEventObject-param-type), [event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#createEventObject-param-event), [target](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#createEventObject-param-target)) | [Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md) | Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником. ||
|| [fire](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#fire)([type](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#fire-param-type)[, [event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#fire-param-event)]) | [event.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md) | Бросает событие. ||
|| [getParent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#getParent)() | [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md)\|null | Возвращает ссылку на родительский менеджер событий.

Унаследован от [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#getParent). ||
|| [group](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#group)() | [IEventGroup](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventGroup.md) | Возвращает группу слушателей событий, ассоциированную с данным менеджером событий.

Унаследован от [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#group). ||
|| [once](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#once)([types](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#once-param-types), [callback](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#once-param-callback)[, [context](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#once-param-context)[, [priority](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#once-param-priority)]]) | [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Добавляет слушателя, который вызовет функцию-обработчик только 1 раз.

Унаследован от [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#once). ||
|| [remove](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#remove)([types](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#remove-param-types), [callback](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#remove-param-callback)[, [context](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#remove-param-context)[, [priority](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#remove-param-priority)]]) | [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Удаляет существующую подписку.

Унаследован от [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md#remove). ||
|| [setParent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#setParent)([parent](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md#setParent-param-parent)) | [event.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md) | Устанавливает родительский менеджер событий. ||
|#

# Описание методов {#method_detail}

### createEventObject {#createEventObject}

```javascript
{Event} createEventObject(type, event, target)
```

Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником.

**Возвращает** объект-событие.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`type`](#createEventObject-param-type)[*](*star) | — | Тип: String

Тип события. ||
|| [`event`](#createEventObject-param-event)[*](*star) | — | Тип: Object

Объект, описывающий событие. ||
|| [`target`](#createEventObject-param-target)[*](*star) | — | Тип: Object

Объект, на котором произошло событие. ||
|#

\* Обязательный параметр/опция.

### fire {#fire}

```javascript
{event.Manager} fire(type[, event])
```

Бросает событие.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`type`](#fire-param-type)[*](*star) | — | Тип: String

Тип события. ||
|| [`event`](#fire-param-event) | — | Тип: Object\|[Event](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md)

Событие. Если передан хэш с данными, то для него будет вызван метод createEventObject, и дальнейшие действия будут производиться с новым созданным событием. ||
|#

\* Обязательный параметр/опция.

### setParent {#setParent}

```javascript
{event.Manager} setParent(parent)
```

Устанавливает родительский менеджер событий.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`parent`](#setParent-param-parent)[*](*star) | — | Тип: [IEventManager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md)\|null

Родительский менеджер событий. ||
|#

\* Обязательный параметр/опция.

<!-- XLIFF_FARM_Yjk2ZDhj_CACHING -->

[*star]: Обязательный параметр.