Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как повесить на событие функция класса (https://javascript.ru/forum/misc/12858-kak-povesit-na-sobytie-funkciya-klassa.html)

Hugo_O 05.11.2010 20:26

как повесить на событие функция класса
 
function class()
{
     this.id = "id1";
     this.id2 = "id2";
     
     document.getElementById(this.id).onmouseover =   this.func("#000");

     this.func = function(val)
     {
          
          document.getElementById(this.id2).style.background = val;
     }
}


как правильно записать, чтобы заработало, смысл думаю всем понятен.

Sweet 05.11.2010 20:58

Цитата:

Сообщение от Hugo_O
смысл думаю всем понятен

Конечно, понятен. Ты насилуешь javascript:)

Sweet 05.11.2010 21:11

<div id="div1">Наведи сюда</div>
<div id="div2">чтобы раскрасить это</div>

<script>
function fuckingClass(rev, rel, color){
  this.func = function(){
    document.getElementById(rel).style.background = color;
  };
  document.getElementById(rev).onmouseover =   this.func;
};

var realizeThisShit = new fuckingClass('div1', 'div2', '#0FC');
</script>

Hugo_O 05.11.2010 21:50

Sweet,
м*я это был просто пример, чтобы разобраться, и говоря "смысл думаю всем понятен" я ошибься, оказывается не всем

Kolyaj 05.11.2010 21:53

Зачем вы вызываете функцию и результат её работы (т.е. undefined) присваиваете свойству onmouseover элемента?

Hugo_O 05.11.2010 23:02

Kolyaj,
это ПРИМЕР, если бы я знал сначала как сделать, я бы не написал вообще

но подсказали уже:
_this = this;
 document.getElementById(this.id).onmouseover =  function(){_this.func()};

Kolyaj 05.11.2010 23:05

Цитата:

Сообщение от Hugo_O
это ПРИМЕР

Ну так у меня и вопрос наводящий, вы же вроде как понять хотите, а не тупо код написать, лишь бы работало.

Sweet 05.11.2010 23:11

Думаю, что для начала нужно понять, что в javascript НЕТ КЛАССОВ!:) Можно ведь не только тупо писать код, но и писать "тупой" код:)

Hugo_O 05.11.2010 23:33

Kolyaj,
да, теперь я понял как передать содержимое исходного экземпляра в событие, а не тупо написал код.


Sweet,
а может просто тут класс выглядит иначе, чем в других языках?

Sweet 05.11.2010 23:49

Hugo_O, как вам удобнее;) Если угодно использовать грубые и угловатые ...подобные конструкции - пожалуйства:victory:

Gvozd 05.11.2010 23:53

Цитата:

Сообщение от Hugo_O
а может просто тут класс выглядит иначе, чем в других языках?

не пишите тупость.
JS - прототипный язык, а не классовый.

Hugo_O 06.11.2010 00:09

Gvozd,
ды это был реальный вопрос, а не предъява, вы какие-то блин все злые, уйду я от вас))

Gvozd 06.11.2010 00:21

Hugo_O,
да не вопрос.
уходите, вас тут никто не держит.
и мы не капли не проиграем от отсутствия общения с вами.
можем даже бан выдать вдогонку, чтобы вы уж точно ушли от нас ;)
Цитата:

Сообщение от Hugo_O
это был реальный вопрос, а не предъява

научитесь формулировать свои мысли верным образом.
а для начала прочитайте изучите русский язык хотя бы в объеме школьного курса.
речь даже не об опечатках и синтаксических ошибках. на них имеет право каждый человек
а до тех пор, ваш вопрос звучит именно как "предъява"

Hugo_O 06.11.2010 01:50

Gvozd,
ты все воспринимаешь буквально, видимо чувства юмора нет вообще, да и по твоей аватарке сразу видно какой ты интеллектуальный перец.

Выдай бан, отвечу тебе так же - я НИЧЕГО от этого не потеряю. Так что дерзай)))

Gvozd 06.11.2010 02:09

Цитата:

Сообщение от Hugo_O
Выдай бан, отвечу тебе так же - я НИЧЕГО от этого не потеряю. Так что дерзай)))

мы ничего не потеряем от отсутствия общения с тобой.
ты ничего не потеряешь от отсутствия общения с нами.
Зачем бан давать, в таком случае.
Можешь не отвечать даже, так как никому не нужно это общение.
Пока, и удачи


Часовой пояс GMT +3, время: 09:22.