У меня есть код для получения событий календаря и их отображения.Дисплей обновляется, только если события изменились после последнего вызова.
var calendar = {
events = null,
display_calendar_events : function (data) {
// Some display stuff...
},
get_events: function() {
// Get messages for calendar
$.getJSON("/ajax/get-events/", function(json){
var new_events = json.data;
// If events haven't changed, do nothing
if (this.events === new_events) {
return true;
}
// Events have changed.
// Save new events
this.events = new_events;
// Display new events
this.display_calendar_events(json);
});
},
}
Я вызываю это с помощью:
calendar.get_queued_events();
Проблема в том, что я получаю ошибку "this.display_calendar_events не является функцией" (последняя строка кода).Но если я изменю эту строку на:
calendar.display_canendar_events(josn)
, это сработает.Хранение старых событий с помощью this.events работает в обоих случаях нормально.
Может кто-нибудь объяснить мне это?Как «это» может работать для одних вещей, а не для других?Спасибо.