Hallo,
<SCRIPT language="javascript">
<script type="text/javascript">
function rollon() {
if (event.srcElement.className == "item") {
event.srcElement.className = "highlight";
document.all("g0text").style.display = "none";
1. Firefox erlaubt den Zugriff auf das Event-Objekt nicht über window.event, sondern die Handler-Funktionen bekommen das Event-Objekt als Parameter übergeben. So hast du in allen Browsern auf das Event-Objekt Zugriff:
function Handler (Eventobjekt) {
if (!Eventobjekt)
Eventobjekt = window.event;
alert(Eventobjekt);
/* ... */
}
2. srcElement ist ebenso wie window.event eine Microsoft-Erfindung, im Netscape und anderen Browsern heißt die Eigenschaft target. So hast du in allen Browsern auf das Zielobjekt Zugriff:
var Zielobjekt = false;
if (Eventobjekt.target) {
Zielobjekt = Eventobjekt.target;
} else if (Eventobjekt.srcElement) {
Zielobjekt = Eventobjekt.srcElement;
}
alert(Zielobjekt);
3. document.all ist ebenso wie window.event und srcElement eine Microsoft-Erfindung und wird von Firefox zwar unterstützt, aber du solltest hier document.getElementById() verwenden.
if (document.getElementById) {
document.getElementById(Zielobjekt.id + "text").style.display = "";
} else if (document.all) {
document.all(Zielobjekt.id + "text").style.display = "";
}
<div style="width:165px" onMouseover="rollon()" onMouseout="rolloff()"
Wenn du die Event-Handler im HTML zuweist, kommst du im Firefox nie an das Event-Objekt. Du musst sie über JavaScript vergeben, also z.B. Elementobjekt.onmouseover = rollon;. Für den Zugriff auf das Elementobjekt kannst du wieder getElementById() usw. verwenden, siehe http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#allgemeines.
Mathias