Как в событие объекта передать свойство метода
Добрый день,
Создаю класс, следующего содержания:
function NewClass(){
this.a = 5;
this.img = document.createElement('img');
this.img.onclick = function(){[B]Как в этом месте получить this.a[/B]}
}
Ни чего не могу найти подходящего. |
function NewClass(){
this.a = 5;
this.img = document.createElement('img');
_this=this;
this.img.onclick = function(){alert(_this.a);}
}
http://javascript.ru/basic/closure |
Такой способ не подходит либо я не до конца разобрался с созданием классов в js. Смысл в следующем пишу класс для создания окна в браузере(Окно представляет из себя див с кнопкой закрытия, сворачивания, табличной частью и других необходимых для объекта свойств, вообщем имитация окна) и когда я создаю в браузере несколько окон в _this попадает свойство последнего открытого окна.
|
function NewClass(){
this.a = 5;
this.img = document.createElement('img');
this.img.a=this.a;
this.img.onclick = function(){alert(this.a);}
}
|
Работает, limonad спасибо!:thanks: Только на сколько это правильно и не возникнут ли не предвиденные ситуации в дальнейшем?
|
Цитата:
var _this=this; |
VAR нужен, но для всех созданных объектов на основе этого класса переменные объявленные через var имеют одинаковые значения.
|
Цитата:
|
Цитата:
function Class1(T){
var TC = T;
Class1.prototype.Alert = function(){
alert(TC);
}
}
Только сейчас нашел, как все работает нормально:
function Class1(T){
this.TC = T;
}
Class1.prototype.Alert = function(){
var TC = this.TC;
alert(TC);
}
При таком способе взаимодействия все работает отлично! Всем спасибо! |
| Часовой пояс GMT +3, время: 13:46. |