molily: Firefox 3 Problem mit onMouseOver Funktion...

Beitrag lesen

Hallo,

var ns6=document.getElementById&&!document.all
var ie=document.all

So eine Browsererkennung ist völlig veraltet. Du solltest dich mit Fähigkeiten- und Objektabfragen auseinandersetzen. Das macht deine Programmierung viel einfacher.
Weder besteht die Welt heute aus Netscape 6 und Internet Explorer, noch sind diese Browsererkennungen irgendwie dazu geeignet, die benutzten Features abzufragen.

function changeto(e,highlightcolor){
source=ie? event.srcElement : e.target

Installiere dir mal Firebug im Firefox und füge hier die Debug-Ausgabe ein:
console.log(source);

if (source.tagName=="TABLE")
return
while(source.tagName!=highlightbehavior && source.tagName!="HTML")
source=ns6? source.parentNode : source.parentElement

Und dann hier
console.log(source);
Da wirst du sehen, dass nach dieser Schleife die source das html-Wurzelelement ist.

Durch das cellspacing ist zwischen den tr-Elementen eine Menge Platz - und wenn du die Maus von tr zu tr bewegst, dann fährst du über die Fläche des tbody-Elementes. Dort passiert dann auch der mouseover-Event. Wenn du von dort mit dieser Schleife aufsteigst, kommst du nie und nimmer zu einem tr-Element.

Mathias