event.PriorityManager
Расширяет event.Manager.
Менеджер событий с приоритетами.
Конструктор
event.PriorityManager([options])
Создает экземпляр менеджера событий с приоритетами для некоторого объекта. Позволяет добавлять обработчики событий с указанием приоритета - при бросании событий обработчики будут вызваны в порядке убывания приоритета.
Приоритет должен быть целым числом (возможно, отрицательным). Если приоритет не указан, то он считается наименьшим из возможных, и обработчик будет вызван последним.
Подписки с одинаковыми callback-context, но с разными приоритетами считаются разными. При удалении подписки необходимо указывать тот же приоритет, что и при добавлении подписки.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
options | — | Тип: Object Опции менеджера событий. |
options.controllers | — | Тип: IWorkflowController[] Контроллер или контроллеры менеджера событий. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
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]]) | Добавляет новую подписку. | |
createEventObject(type, event, target) | Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником. | |
fire(type[, event]) | Бросает событие. | |
getManagerByPriority([priority]) | event.manager.Base | Перебирает вложенные менеджеры событий и возвращает экземпляр с нужным priority. Если такого нет - создаёт его. |
getParent() | Returns родительский менеджер событий. | |
group() | Returns контейнер событий, привязанный к данному менеджеру. | |
once(types, callback[, context[, priority]]) | Добавляет слушателя, который вызовет функцию-обработчик только 1 раз. | |
remove(types, callback[, context[, priority]]) | Удаляет существующую подписку. Для удаления подписки требуется указать тот же приоритет, который был использован при её добавлении. | |
setParent(parent) | Задаёт родительский менеджер событий. |
Имя | Возвращает | Описание |
---|---|---|
add(types, callback[, context[, priority]]) | Добавляет новую подписку. | |
createEventObject(type, event, target) | Функция, которая создает объект-событие. Вызывается в методе fire, когда переданный объект не является экземпляром класса Event или его наследником. | |
fire(type[, event]) | Бросает событие. | |
getManagerByPriority([priority]) | event.manager.Base | Перебирает вложенные менеджеры событий и возвращает экземпляр с нужным priority. Если такого нет - создаёт его. |
getParent() | Returns родительский менеджер событий. | |
group() | Returns контейнер событий, привязанный к данному менеджеру. | |
once(types, callback[, context[, priority]]) | Добавляет слушателя, который вызовет функцию-обработчик только 1 раз. | |
remove(types, callback[, context[, priority]]) | Удаляет существующую подписку. Для удаления подписки требуется указать тот же приоритет, который был использован при её добавлении. | |
setParent(parent) | Задаёт родительский менеджер событий. |
Описание методов
add
{event.PriorityManager} add(types, callback[, context[, priority]])
Добавляет новую подписку.
Returns ссылку на себя.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
types * | — | Тип: String|String[] Тип или массив типов события. |
callback * | — | Тип: Function Функция-обработчик события. |
context | — | Тип: Object Контекст исполнения обработчика. |
priority | — | Тип: Integer Приоритет подписки. Если не указан, считается наименьшим из возможных. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
types * | — | Тип: String|String[] Тип или массив типов события. |
callback * | — | Тип: Function Функция-обработчик события. |
context | — | Тип: Object Контекст исполнения обработчика. |
priority | — | Тип: Integer Приоритет подписки. Если не указан, считается наименьшим из возможных. |
* Обязательный параметр/опция.
createEventObject
Функция, которая создает объект-событие. Вызывается в методе 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. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
type * | — | Тип: String Тип события. |
event | — | Тип: Object|Event Объект, описывающий событие. Если передан хэш с данными, то для него будет вызван метод createEventObject, и дальнейшие действия будут производиться с новым созданным событием. Значение isImmediatePropagationStopped() проверяется в каждой фазе распространения событий. Значение isPropagationStopped() проверяется перед фазой bubblingEvent. Значение isDefaultPrevented() проверяется перед фазой defaultaction. |
* Обязательный параметр/опция.
getManagerByPriority
{event.manager.Base} getManagerByPriority([priority])
Перебирает вложенные менеджеры событий и возвращает экземпляр с нужным priority. Если такого нет - создаёт его.
Returns менеджер событий.
Параметры:
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 Приоритет подписки. Если не указан, считается наименьшим из возможных. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
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 Приоритет подписки. Если не указан, считается наименьшим из возможных. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
types * | — | Тип: String|String[] Тип или массив типов события. |
callback * | — | Тип: Function Функция-обработчик события. |
context | — | Тип: Object Контекст исполнения обработчика. |
priority | — | Тип: Integer Приоритет подписки. Если не указан, считается наименьшим из возможных. |
* Обязательный параметр/опция.
setParent
{event.Manager} setParent(parent)
Задаёт родительский менеджер событий.
Returns ссылку на себя.
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
parent * | — | Тип: IEventManager Родительский менеджер событий. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
parent * | — | Тип: IEventManager Родительский менеджер событий. |
* Обязательный параметр/опция.