event.Mapper

Расширяет IEventTrigger.

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

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

Конструктор

event.Mapper(targetEventManager, mappingTable)

Параметры:

Параметр

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

Описание

targetEventManager*

Тип: IEventManager

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

mappingTable*

Тип: Object

Таблица правил маппинга. Представляет собой хэш, ключами которого являются типы событий, а значениями - соответствующие функции маппинга, либо Boolean значения. Функция маппинга для конкретного типа событий получает на вход экземпляр события, инициированного на маппере, а возвращать должна экземпляр события для распространения далее по иерархии, либо null, если распространение необходимо запретить. Boolean значения трактуются следующим образом:

  • true - события данного типа распространяются по иерархии в неизменном виде;
  • false - события данного типа по иерархии не распространяются.
    Дополнительно в таблице доступен ключ "*" для правила обработки по умолчанию.

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

Пример:

// Создаем и устанавливаем маппер событий, который преобразует событие "click" корневой
// коллекции геообъектов в событие "geoobjectclick" самой карты.
var mapper = new ymaps.event.Mapper(myMap.events, {
    "*": false,
    "click": function (event) {
        return new ymaps.Event({
             type: "geoobjectclick",
             target: map,
             originalTarget: event.get("target")
        }, event);
    }
});

myMap.geoObjects.events.setParent(mapper);

Методы

Имя

Возвращает

Описание

fire(type[, eventObject])

IEventTrigger

Инициирует событие.

Унаследован от IEventTrigger.

Предыдущая
Следующая
В этой статье: