Как в событие объекта передать свойство метода
Добрый день,
Создаю класс, следующего содержания: 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, время: 01:25. |