Hallo,
Es geht um folgenden Ausdruck:
window.event.offsetX
Laut SelfHTML sollte er im IE und FF reibungslos funktionieren. Der IE macht es auch, aber FireFox sagt einfach:
Wo steht das in SELFHTML?
Im Firefox kann man nicht über window.event auf das Ereignis-Objekt zugreifen.
http://de.selfhtml.org/javascript/objekte/event.htm#allgemeines
»(...) Beide Funktionen erwarten einen Parameter namens Ereignis. Über diesen Parameter können die Funktionen auf Eigenschaften des Event-Objekts zugreifen. Im Internet Explorer hingegen muss über window.event auf das Event-Objekt zugegriffen werden. Daher wird direkt am Anfang der beiden Funktionen mit einer if-Anweisung abgefragt, ob der Parameter Ereignis gesetzt wurde. Wenn dies nicht der Fall ist, wird das Event-Objekt aus window.event in der Variable Ereignis gespeichert. Dadurch steht das Event-Objekt auf jeden Fall in der Variable Ereignis zur Gebrauch.«
Daher:
function Handler (Ereignis) {
if (!Ereignis)
Ereignis = window.event;
/* Mach was mit dem Ereignis-Objekt */
...
}
Und die Zweite: Wieso behauptet das sonst sehr genaue SelfHTML das es im FF gehen würde? :)
Wo behauptet das SELFHTML?
http://de.selfhtml.org/javascript/objekte/event.htm#offset_x_y
Da sehe ich kein Firefox-Icon. Deshalb wurde dort nur die window.event-Schreibweise verwendet.
Noch zur Info: Ich benötige den Wert um die Mausposition auf einem Image irgendwo im Dokument festzustellen.
Na, dann musst du es für den Firefox und die anderen Browser anders lösen, wenn sie offsetX/Y nicht kennen.
Zum Beispiel kannst du pageX/Y verwenden und davon den offsetTop/Left-Wert des Bildes abziehen (http://de.selfhtml.org/javascript/objekte/all.htm#offset_top, http://www.quirksmode.org/js/findpos.html). Heraus kommen sollte die Mausposition relativ zum Bild.
Mathias