event.PriorityManager

Расширяет event.Manager.

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

Конструктор | Методы

Конструктор

event.PriorityManager([options])

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

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

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

Параметры:

Параметр Значение по умолчанию Описание
options

Тип: Object

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

options.controllers

Тип: IWorkflowController[]

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

Пример:

// Создадим менеджер событий
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!' - в порядке убывания приоритетов
// (если приоритет не указан, он считается самым малым).

Методы

Имя Возвращает Описание
add(types, callback[, context[, priority]])

event.PriorityManager

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

createEventObject(type, event, target)

Event

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

fire(type[, event])

event.PriorityManager

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

getManagerByPriority([priority])

event.manager.Base

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

getParent()

IEventManager

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

group()

event.PriorityGroup

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

once(types, callback[, context[, priority]])

event.PriorityManager

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

remove(types, callback[, context[, priority]])

event.PriorityManager

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

setParent(parent)

event.Manager

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

Описание методов

add

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

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

Параметры:

Параметр Значение по умолчанию Описание
types *

Тип: String|String[]

Тип или массив типов события.

callback *

Тип: Function

Функция-обработчик события.

context

Тип: Object

Контекст исполнения обработчика.

priority

Тип: Integer

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

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

createEventObject

{Event} createEventObject(type, event, target)

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

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

Параметры:

Параметр Значение по умолчанию Описание
type *

Тип: String

Тип события.

event *

Тип: Object

Объект, описывающий событие.

target *

Тип: Object

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

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

fire

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

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

Параметры:

Параметр Значение по умолчанию Описание
type *

Тип: String

Тип события.

event

Тип: Object|Event

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

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

getManagerByPriority

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

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

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

Параметры:

Параметр Значение по умолчанию Описание
priority

Тип: Number

Приоритет.

getParent

{IEventManager} getParent()

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

group

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

once

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

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

Параметры:

Параметр Значение по умолчанию Описание
types *

Тип: String|String[]

Тип или массив типов события.

callback *

Тип: Function

Функция-обработчик события.

context

Тип: Object

Контекст исполнения обработчика.

priority

Тип: Integer

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

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

remove

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

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

Параметры:

Параметр Значение по умолчанию Описание
types *

Тип: String|String[]

Тип или массив типов события.

callback *

Тип: Function

Функция-обработчик события.

context

Тип: Object

Контекст исполнения обработчика.

priority

Тип: Integer

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

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

setParent

{event.Manager} setParent(parent)

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

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

Параметры:

Параметр Значение по умолчанию Описание
parent *

Тип: IEventManager

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

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