Всем привет.
Пишу игру на JS. Пишу на чистом JS с использованием jQuery для облегчения многих задач. Написал класс для объекта карты Map:
var Map = function (map) {
this.map = $(map);
};
// Place object on the map
Map.prototype.addObject = function(object_id) {
this.map.append('<div id="' + object_id + '" />');
};
// Map events handler
Map.prototype.on = function (event, handler) {
this.map.live(event, function (e) {
handler(e);
});
};
Далее создаю карту и хочу реализовать при клике добавление объекта в указанную точку карты (принимаем во внимание, что в body существует элемент <div id="map"></div>):
var map = new Map('#map');
map.on('click', function (e) {
// Place tower on the map
this.addObject('tower', {
'left' : e.pageX,
'top' : e.pageY
});
});
Проблема: Хочу реализовать так, чтоб
this во втором куске кода указывал на объект моего определенного выше типа Map и соответственно вызывал на нем метод addObject() - как этого можно добиться?
П.С. Ведь в jQuery подобное поведение как-то реализовано...