---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/llms.txt

# event.PriorityManager

Расширяет [event.Manager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.Manager.md).

Менеджер событий с приоритетами.

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

```javascript
event.PriorityManager([options])
```

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

Приоритет должен быть целым числом (возможно, отрицательным). Если приоритет не указан, то он считается наименьшим из возможных, и обработчик будет вызван последним.

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

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `options` | — | Тип: Object

Опции менеджера событий. ||
|| `options.controllers` | — | Тип: IWorkflowController[]

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


**Пример:**

```javascript
// Создадим менеджер событий
var events = new ymaps.event.Manager();
events
    .add('click', function () {
        alert('click 1!');
    }, null, 2)
    .add('click', function () {
        alert('click 2!');
    })
    .add('click', function () {
        alert('click 3!');
    }, null, 1);
// Выполняем действия
// ...
// Бросим событие:
events.fire('click', new ymaps.Event());
// Сначала будет выведено 'click 1!', потом 'click 3!',
// потом 'click 2!' - в порядке убывания приоритетов
// (если приоритет не указан, он считается самым малым).
```
## Методы {#method}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [add](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#add)([types](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#add-param-types), [callback](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#add-param-callback)[, [context](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#add-param-context)[, [priority](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#add-param-priority)]]) | [event.PriorityManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md) | Добавляет новую подписку. ||
|| [createEventObject](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#createEventObject)([type](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#createEventObject-param-type), [event](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#createEventObject-param-event), [target](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#createEventObject-param-target)) | [Event](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/Event.md) | Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником. ||
|| [fire](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#fire)([type](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#fire-param-type)[, [event](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#fire-param-event)]) | [event.PriorityManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md) | Бросает событие. ||
|| [getManagerByPriority](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#getManagerByPriority)([[priority](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#getManagerByPriority-param-priority)]) | event.manager.Base | Перебирает вложенные менеджеры событий и возвращает экземпляр с нужным priority. Если такого нет - создаёт его. ||
|| [getParent](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#getParent)() | [IEventManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IEventManager.md) | Returns родительский менеджер событий. ||
|| [group](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#group)() | [event.PriorityGroup](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityGroup.md) | Returns контейнер событий, привязанный к данному менеджеру. ||
|| [once](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#once)([types](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#once-param-types), [callback](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#once-param-callback)[, [context](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#once-param-context)[, [priority](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#once-param-priority)]]) | [event.PriorityManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md) | Добавляет слушателя, который вызовет функцию-обработчик только 1 раз. ||
|| [remove](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#remove)([types](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#remove-param-types), [callback](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#remove-param-callback)[, [context](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#remove-param-context)[, [priority](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#remove-param-priority)]]) | [event.PriorityManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md) | Удаляет существующую подписку. Для удаления подписки требуется указать тот же приоритет, который был использован при её добавлении. ||
|| [setParent](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#setParent)([parent](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.PriorityManager.md#setParent-param-parent)) | [event.Manager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/event.Manager.md) | Задаёт родительский менеджер событий. ||
|#

## Описание методов {#description-methods}

### add

```javascript
{event.PriorityManager} add(types, callback[, context[, priority]])
```

Добавляет новую подписку.

**Returns** ссылку на себя.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `types`[*](*parametr) | — | Тип: String\|String[]

Тип или типы событий. ||
|| `callback`[*](*parametr) | — | Тип: Function

Функция-обработчик. ||
|| `context` | — | Тип: Object

Контекст исполнения функции-обработчика. ||
|| `priority` | — | Тип: Integer

Приоритет подписки. Если не указан, считается наименьшим из возможных. ||
|#

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

# createEventObject

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

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

**Returns** объект-событие.

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

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

Тип события. ||
|| `event`[*](*parametr) | — | Тип: Object

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

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

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

### fire

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

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

**Returns** ссылку на себя.

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

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

Тип события. ||
|| `event` | — | Тип: Object\|[Event](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/Event.md)

Объект, описывающий событие. Если передан хэш с данными, то для него будет вызван метод createEventObject, и дальнейшие действия будут производиться с новым созданным событием. Значение isImmediatePropagationStopped() проверяется в каждой фазе распространения событий. Значение isPropagationStopped() проверяется перед фазой bubblingEvent. Значение isDefaultPrevented() проверяется перед фазой defaultaction. ||
|#

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

### getManagerByPriority

```javascript
{event.manager.Base} getManagerByPriority([priority])
```

Перебирает вложенные менеджеры событий и возвращает экземпляр с нужным priority. Если такого нет - создаёт его.

**Returns** менеджер событий.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `priority` | — | Тип: Number

Приоритет. ||
|#

### getParent

```javascript
{IEventManager} getParent()
```

**Returns** родительский менеджер событий.

### group

```javascript
{event.PriorityGroup} group()
```

**Returns** контейнер событий, привязанный к данному менеджеру.

### once

```javascript
{event.PriorityManager} once(types, callback[, context[, priority]])
```

Добавляет слушателя, который вызовет функцию-обработчик только 1 раз.

**Returns** ссылку на себя.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `types`[*](*parametr) | — | Тип: String\|String[]

Тип или типы событий. ||
|| `callback`[*](*parametr) | — | Тип: Function

Функция-обработчик. ||
|| `context` | — | Тип: Object

Контекст исполнения функции-обработчика. ||
|| `priority` | — | Тип: Integer

Приоритет подписки. Если не указан, считается наименьшим из возможных. ||
|#

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

# remove

```javascript
{event.PriorityManager} remove(types, callback[, context[, priority]])
```

Удаляет существующую подписку. Для удаления подписки требуется указать тот же приоритет, который был использован при её добавлении.

**Returns** ссылку на себя.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `types`[*](*parametr) | — | Тип: String/String[]

Тип или типы событий. ||
|| `callback`[*](*parametr) | — | Тип: Function

Функция-обработчик. ||
|| `context` | — | Тип: Object

Контекст исполнения функции-обработчика. ||
|| `priority` | — | Тип: Integer

Приоритет подписки. Если не указан, считается наименьшим из возможных. ||
|#

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

# setParent

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

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

**Returns** ссылку на себя.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `parent`[*](*parametr) | — | Тип: [IEventManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IEventManager.md)

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

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

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