Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.04.2009, 18:31
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Может стоит тогда ссылки на LI и XMLHttpRequest засылать как аргументы. Тогда в this будет то, что и должно в них быть. Или наоборот: первый аргумент - ссылка на текущий экземпляр, this - ссылка на LI/XMLHttpRequest.
Или вообще изврат: this - ссылка на объект с двумя свойствами, одно из которых ссылка на текущий экземпляр, а другое LI/XMLHttpRequest.
Ответить с цитированием
  #12 (permalink)  
Старый 18.04.2009, 19:29
Интересующийся
Отправить личное сообщение для belbek Посмотреть профиль Найти все сообщения от belbek
 
Регистрация: 18.04.2009
Сообщений: 29

Такое уже пробовал. В любом случае, спасибо.
Сообщение от Riim Посмотреть сообщение
Может стоит тогда ссылки на LI и XMLHttpRequest засылать как аргументы. Тогда в this будет то, что и должно в них быть. Или наоборот: первый аргумент - ссылка на текущий экземпляр, this - ссылка на LI/XMLHttpRequest.
Или вообще изврат: this - ссылка на объект с двумя свойствами, одно из которых ссылка на текущий экземпляр, а другое LI/XMLHttpRequest.
Такое уже пробовал. В любом случае, спасибо.
Ответить с цитированием
  #13 (permalink)  
Старый 23.04.2009, 21:45
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а это не самый распространенный путь в memory leak'и?
node.on... = function() {
    ...node...
}

я так подозреваю, что не обязательно даже использовать node внутри функции
Ответить с цитированием
  #14 (permalink)  
Старый 23.04.2009, 21:49
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

можно id элемента в качестве параметра передавать
p.s. не понял, почему не получилось
Цитата:
Может стоит тогда ссылки на LI и XMLHttpRequest засылать как аргументы. Тогда в this будет то, что и должно в них быть. Или наоборот: первый аргумент - ссылка на текущий экземпляр, this - ссылка на LI/XMLHttpRequest
Ответить с цитированием
  #15 (permalink)  
Старый 23.04.2009, 22:06
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от x-yuri
а это не самый распространенный путь в memory leak'и?
самый

Сообщение от x-yuri
можно id элемента в качестве параметра передавать
p.s. не понял, почему не получилось
Все получилось (у меня, по крайней мере), просто сейчас еще раз перечитал ТС и понял: нужно !вообще! без замыканий. Т. е. даже id элемента нельзя: вообще никаких аргументов.
Только event, который сам по себе крепится. У event-а есть target, который в обоих случаях будет тем же this (или undefined).
Значит, остается только прицепиться к this. Нужно просто то, что хочется засылать как аргументы прикреплять к будущему this как свойства.

Примерно так:

перед строкой
document.getElementById(id).getElementsByTagName(" li")[i].addEventListener("click", this.clickHandler, false);
добавить
document.getElementById(id).getElementsByTagName(" li")[i].currentTree = this;
и далее в Tree.prototype.clickHandler получить текущий экземпляр можно так: this.currentTree

Последний раз редактировалось Riim, 23.04.2009 в 22:18.
Ответить с цитированием
  #16 (permalink)  
Старый 23.04.2009, 22:20
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
У event-а есть target который в обоих случаях будет тем же this
точно в обоих?
Цитата:
Нужно просто то, что хочется засылать как аргументы прикреплять к будущему this как свойства
а this не должен указывать на li/xmlhttprequest соответственно в этих 2х случаях?
Ответить с цитированием
  #17 (permalink)  
Старый 23.04.2009, 22:45
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от x-yuri
точно в обоих?
Не проверял, но вряд ли там будет что-то полезное в данном случае.

Сообщение от x-yuri
а this не должен указывать на li/xmlhttprequest соответственно в этих 2х случаях?
Он как раз на них и указывает. Т. е. нет доступа к текущему экземпляру. Вот я и предлагаю дописать его к li/xmlhttprequest.
Ответить с цитированием
  #18 (permalink)  
Старый 23.04.2009, 23:29
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Не проверял, но вряд ли там будет что-то полезное в данном случае
[readystatechange] ie: srcElement - null, ff: target - xmlhttprequest
Цитата:
Он как раз на них и указывает. Т. е. нет доступа к текущему экземпляру. Вот я и предлагаю дописать его к li/xmlhttprequest
кстати да, я сначала подумал, что ты предлагал для обоих случаев к li this добавлять :secret:
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение ссылки на объект из метода Octane Общие вопросы Javascript 7 21.08.2008 15:09