Подключение и удаление обработчиков

Подключение обработчика события

Чтобы создать и подключить обработчик события, используйте метод YMaps.Events.observe().

Метод принимает на вход следующие параметры:

  • объект, на котором возникает событие;
  • событие, которое необходимо обрабатывать;
  • callback-функцию обработки события;
  • контекст выполнения сallback-функции (по умолчанию совпадает с объектом, на котором возникает событие);
  • флаг "начать обрабатывать событие немедленно" (по умолчанию установлен в true).

Следующий пример по щелчку кнопкой мыши на карте открывает окно с сообщением "Щелк!":

YMaps.Events.observe(map,map.Events.Click, function () {
    alert("Щелк!");
});

Открыть пример в новом окне

Выключение или удаление обработчика события

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

Чтобы выключить обработчик используйте метод disable(), чтобы включить – enable().

Следующий пример добавляет метку по щелчку кнопкой мыши на карте. При этом возможно поставить только одну метку, так как сразу после щелчка обработчик события удаляется:

var myEventListener = YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
        var placemark = new YMaps.Placemark(mEvent.getGeoPoint());
        map.addOverlay(placemark);
        myEventListener.cleanup();
    }, this);

Открыть пример в новом окне