Я пытаюсь выполнить обратный вызов, который объявлен в объекте (Фото), из другого объекта, у которого есть список «Фото» (Галерея). Я хочу, чтобы эта функция обратного вызова изменяла точный объект, к которому он принадлежит.У меня есть что-то вроде этого:
var photo= function(){
this.Id;
this.Url;
this.someCallBack = function(event, ui, object){
this.Id = object.Id;
this.Url = object.Url;
}
}
var gallery = function(){
this.Name;
this.PhotoList = new Array();
this.Draw = function(){
for(var i =0; i < this.PhotoList.length; i++){
var self = this;
$('#'+this.PhotoList[i].Id).droppable({drop:function(event, ui){
self.PhotoList[i].someCallBack(event, ui, new{Id = 15, Url = 'someUrl.jpg'});
}
});
}
}
}
Событие сбрасывается (из jquery ui droppable), я пытался, но это не работает, есть ошибка «не могу вызвать метод someCallBack неопределенной».
Цель состоит в том, чтобы изменять исходные объекты из списка в «галерее» при каждом обратном вызове, чтобы я мог взять список после завершения перетаскивания и сохранить его.
Есть лиспособ достижения поведения, которое я описал ранее ??
Буду признателен за любую помощь.
Спасибо