Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / обработчик события - метод класса / 6 сообщений из 6, страница 1 из 1
21.03.2007, 09:40
    #34404727
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработчик события - метод класса
Javascript
Имеется класс MyClass, в качестве члена класса выступает, например, table
обработчику onclick таблицы присваивается метод класса:
Код: plaintext
1.
2.
3.
4.
5.
function MyClass(......)
  this.Tab=document.createElement("table");
  this.onclick=function(){..........};
  Tab.onclick=this.onclick;
  .......................
}
В результате в качестве this обработчик получает таблицу.
Вопрос - как протащить туда объект класса?
Вариант - вынести обработчик за пределы класса уже опробован, он работает,
но это меня не устраивает.
...
Рейтинг: 0 / 0
21.03.2007, 13:50
    #34405777
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработчик события - метод класса
На самом деле это не совсем класс
Код: plaintext
1.
2.
3.
4.
5.
6.
function MyClass(......)
  this.self=this;
  this.Tab=document.createElement("table");
  this.onclick=function(){alert(self);};
  Tab.onclick=this.onclick;
  .......................
}
...
Рейтинг: 0 / 0
21.03.2007, 13:57
    #34405817
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработчик события - метод класса
или так:
Код: plaintext
1.
2.
3.
4.
5.
6.
function MyClass(......)
  var self=this;
  this.Tab=document.createElement("table");
  this.onclick=function(){alert(self);};
  Tab.onclick=this.onclick;
  .......................
}
...
Рейтинг: 0 / 0
21.03.2007, 14:15
    #34405897
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработчик события - метод класса
К сожалению, эти варианты не работают.
Если
this.self=this;
то self undefined
Если
var self=this;
то self - window
Если
self=this;
то self глобальна и является последним созданным объектом этого класса, а не тем по которому click
...
Рейтинг: 0 / 0
21.03.2007, 15:40
    #34406269
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработчик события - метод класса
muk07К сожалению, эти варианты не работают.
Если
this.self=this;
то self undefined
Если
var self=this;
то self - window
Если
self=this;
то self глобальна и является последним созданным объектом этого класса, а не тем по которому click
Oo -это в каком браузере?

а если так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<body>
<button id="but">button</button>
<script>
function TObject(){
  var self=this;
  this.but=document.getElementById("but");
  this.but.onclick=function(){alert(self.but.onclick)}
}
var tObject=new TObject();
</script>
</body>
...
Рейтинг: 0 / 0
21.03.2007, 16:58
    #34406622
muk07
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обработчик события - метод класса
Получилось после того как перенёс
var self=this
выше обработчика.
Глупая небрежность.
Спасибо, Вы уже не первый раз мне существенно помогаете.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / обработчик события - метод класса / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]