Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dynamicznie generowane zdarzenie
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
230005
Chciałbym aby zdarzenie onmouseover było dodawana do każdego diva, ale funkcja oprogramowująca nie ma się wywoływać, dopóki (jak sama nazwa zdarzenia wskazuje winksmiley.jpg ) myszka nie znajdzie się nad wybranym divem. Na razie mam coś takiego:

  1. <?php
  2. function Divs()
  3.    {
  4.        this.arrayOfDivs = new Array();
  5.        this.mainDiv = document.createElement('div');
  6.        this.mainDiv.className = 'otherDiv';
  7.        document.body.appendChild(this.mainDiv);
  8.  
  9.        for(var i = 0; i <= 2; ++i)
  10.        {
  11.            this.arrayOfDivs[i] = document.createElement('div');
  12.            this.arrayOfDivs[i].className = 'oneOfDivs'+i;
  13.            this.arrayOfDivs[i].setAttribute('onmouseover', this.putText(i));
  14.            this.mainDiv.appendChild(this.arrayOfDivs[i]);
  15.        }
  16.    }
  17.    
  18.    Divs.prototype.putText = function(smVar)
  19.    {
  20.        if(smVar == 0)
  21.            this.arrayOfDivs[0].innerHTML = &#092;"tekst\";
  22.        else if(smVar == 1)
  23.            this.arrayOfDivs[1].innerHTML = &#092;"tekst\";
  24.        else if(smVar == 2)
  25.            this.arrayOfDivs[2].innerHTML = &#092;"tekst\";
  26.    }
  27.    
  28.    window.onload = function ()
  29.    {
  30.      var oDiv = new Divs();
  31.    }
  32. ?>


Jak zrobić żeby działało? biggrin.gif
Crozin
Zdarzenia dodaje się poprzez element.addEventListener() (pogoogleaj sobie za wersją cross-browser bo IE daje ciała tutaj).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.