Показать сообщение отдельно
  #1 (permalink)  
Старый 02.01.2014, 09:58
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Два контекста в контексте onload
Начинается канонично:

elem.addEventListener("click", this.load_image, false);


продолжается не менее того:

load_image: function (e) {

		if (e.preventDefault)
			e.preventDefault(); 
		e.returnValue = false;

		img = new Image();

		img.onload = function() {
			ImageZoom.show_me(img);
		}

		img.onerror = function() {
			return false;
		}
		img.title = this.title;
		ImageZoom.current_index = this.index;
		img.src = this.href;

	}


Объект как вы уже заметили называется ImageZoom. В процитированный типа метод приходит конечно контекст DOM' элемента, конкретно anchor. Я не могу заменить через call или bind его контекст на self-объектный, потому что elem-объектный нужен в первую очередь.

Как процитировано - так все работает. Но почему-то мне кажется что делать твердые копии имени объекта в объекте некомильфо.

Потратил около часа в поисках решения - не нашел. Это значит либо так вообще не делают, либо все настолько просто, что такого рода вопросов не возникает.

Вопрос такой: как получить в методе ссылку на инстансь в целом? При сохранении контекста вызова.

Спасибо.
Ответить с цитированием