Marc: attachEvent

Beitrag lesen

Hallo,

ich habe hier diese Funktion:

----------------------------------------------------------------------
AlbumList.prototype.getList = function()
{
 var cellCount = 0;
 this.getAlbumsList();

tmpDivContainer = document.createElement('div');
 tmpDivContainer.id = 'albumListContainer';
 for (var i = 0; i < this.albums.albums.length; i++)
 {
  tmpDiv  = document.createElement('div');
  tmpDiv.id = 'albumList'+i;
  tmpDiv.innerHTML = this.albums.albums[i].name;
  if (this.browser == 'msie')
   tmpDiv.attachEvent('onmouseover', function(evt){alert('asdsad');this.className = 'selected';});

tmpDivContainer.appendChild(tmpDiv);
  cellCount++;
  if (cellCount == 5)
  {
   cellCount = 0;
  }

}

if (cellCount > 0)
 {
  for (i = cellCount; i < 5; i++)
  {
   tmpDiv    = document.createElement('div');
   tmpDiv.className = 'empty';
   tmpDiv.innerHTML = 'sdsa';
   tmpDivContainer.appendChild(tmpDiv);
  }
 }
 tmpDivContainer.innerHTML += '<br class="clear" />';
 return tmpDivContainer;
----------------------------------------------------------------------

Das Ganze dient dazu, eine Liste von Alben anzuzeigen. Jetzt soll jedes Album einen rollover-Effekt bekommen (FF und IE7 per CSS). Dazu wollte ich hier für den IE6 per onmouseover eine neue Klasse zuweisen.

Das wollte ich mit attachEvent machen. Klappt aber nicht. Es passiert gar nichts. Wende ich hingegen das attachEvent auf tmpDivContainer an, funktioniert es bei diesem.

Ich sehe da nirgends einen Fehler..

Ach ja - Der zurückgegebene Wert wird per appendchild in einen weiteren Div-Container enigebunden.