Michael Fularczyk: window.event funktioniert im FireFox nicht

Hallo.

Ich möchte gerade auf einer Page so etwas wie: http://de.selfhtml.org/javascript/objekte/anzeige/event_client_x_y.htm nachbauen.

Der Code sieht zZ folgendermaßen aus:

function cnglayer() {
  var myevent = window.event;
  alert(myevent.clientX);
}

und wird im <head> Tag per <script src=""> aufgerufen.
aufgerufen wird ddie Funktion mit:

<a href="#" onclick="cnglayer"><img src="bild.jpg"></img></a>

Und jetzt kommt der Clou:
Im Internet Explorer funktioniert der Code ohne Probleme. Tut genau das was er soll. Im FireFox wiederrum nicht. Javascript ist logischerweise aktiviert und was mich erst recht richtig Wahnsinnig macht ist das, das s das oben genannte Beispiel bei mir auch im FF einwandfrei funktioniert :(

Ich bin mittlerweile der Verzweiflung Nahe und dankbar für jegliche Tipps zur Lösung des Problems.

MfG MF

  1. Hallo,

    Siehe Event-Objekt: Allgemeines zur Verwendung - dort wird erklärt, wie du browserübergreifend auf das Eventobjekt zugreifen kannst.

    function cnglayer() {
      var myevent = window.event;
      alert(myevent.clientX);
    }

    function handler (ev) {
      if (!ev) ev = window.event;
      alert(ev.clientX);
    }

    <a href="#" onclick="cnglayer"><img src="bild.jpg"></img></a>

    Das funktioniert so garantiert nicht. Entweder du weist den click-Handler dynamisch mit JavaScript zu (beste Lösung). Oder du schreibst onclick="handler(event)" und kannst dir dann die Zeile if (!ev) ev = window.event; sparen.

    Mathias

    1. Yosen :)

      Vielen Dank für die rasche und vorallem goldrichtige Antwort :)
      Mit Übergabe von "event" funktioniert nun alles einwandfrei.

      Ich konnte das Problem das ich hatte nun auch näher eingrenzen. Und zwar ist es wohl so, das sich der FF anders als IE und Opera verhält, wenn einer Funktion, die window.event aufruft, Parameter übergeben werden.

      Ich hatte anfangs function f(var, myt) { if(!myt) myt = window.event; alert(..);}
      Funktioniert wie gesagt im IE einwandfrei. Geht im FF allerdings nicht. Offensichtlich ist es so, dass man wirklich "event" übergeben muss, sobald man im FF Parameter übergibt..

      Nunja. werd das mal genauer unter die Lupe nehmen bei zeiten :)

      Vielen Dank nochmals für die Hilfe :)

      MfG MF