Контекст обработчиков событий

Иногда требуется, чтобы обработчик события выполнялся в контексте пользовательского обработчика.

В примере ниже объект класса MyApplication подсчитывает количество щелчков мышью по карте, сохраняя новое значение в поле counter:

function MyApplication () {
  this.counter = 0;
  this.map = new YMaps.Map(document.getElementById("YMapsID"));
  this.map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
 
  YMaps.Events.observe(this.map, this.map.Events.Click, this.onMapClick, this);
}
 
MyApplication.prototype.onMapClick = function () {
  this.counter++;
  alert("Количество щелчков: " + this.counter);
}
 
function init () {
  var application = new MyApplication();
}

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