Сообщение от 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