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

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

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

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

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

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

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

{event.PriorityGroup} group()

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

once

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

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

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

Параметры:

Параметр

Значение по умолчанию

Описание

types*

Тип: String|String[]

Тип или типы событий.

callback*

Тип: Function

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

context

Тип: Object

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

priority

Тип: Integer

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

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

remove

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

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

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

Параметры:

Параметр

Значение по умолчанию

Описание

types*

Тип: String/String[]

Тип или типы событий.

callback*

Тип: Function

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

context

Тип: Object

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

priority

Тип: Integer

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

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

setParent

{event.Manager} setParent(parent)

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

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

Параметры:

Параметр

Значение по умолчанию

Описание

parent*

Тип: IEventManager

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

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

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

Предыдущая
Следующая