Daniel: Postion d. Mausezeigers mit Netscape/Moz

Hallo zusammen!

Ich greife in einer JS-Funktion mit:

x = window.event.offsetX;
y = window.event.offsetY;

die Position des Mauszeigers ab. Funktioniert aber nur in IE und Opera, aber nicht in Mozilla und Netscape...
Hat da jemand eine Idee?

Daniel

  1. Hallo Daniel,

    schau mal hier rein:
    http://home.vrweb.de/j.berkemeier/MausOMeter.html

    Gruß, Jürgen

    1. Danke Juergen. War so ziemlich genau dass, was ich gesucht hatte. Das mit dem screen hatte ich zwar auch schon gefunden, aber die Unterscheidung nach den Brausern hat mir noch gefehlt.

      Daniel

      1. Danke Juergen. War so ziemlich genau dass, was ich gesucht hatte. Das mit dem screen hatte ich zwar auch schon gefunden, aber die Unterscheidung nach den Brausern hat mir noch gefehlt.

        Es geht aber auch einfacher, zumal die Browserunterscheidung in dem obigen Skript nichts taugt (navigator.appName.search(/Microsoft/) ist relativ aussagelos), man sollte immer die Eigenschaften testen die man benutzen möchte und nicht die die man vermutet.

        Eine einfache Funktion um die Mausposition im Browserfenster zu bestimmen sieht wie folgt aus:

        function mouse_pos(evt)
        {
        if(!evt) evt = window.event;
        var pos = new Object();
        pos.left = evt.pageX ? evt.pageX : evt.clientX;
        pos.top = evt.pageY ? evt.pageY : evt.clientY;
        return pos;
        }

        Struppi.

        1. Hallo Struppi,

          und wie binde ich Dein Script dann ein?. Mein Problem war, dass der IE nur auf onmousemove=... im body-Tag reagierte und der MOZ onmousemove im Head erwartete.
          Das die Browserabfrage nicht taugt, ist mir schon klar, aber ein MausOMeter ist ja auch nicht wirklich lebenswichtig.

          Gruß, Jürgen

          1. und wie binde ich Dein Script dann ein?. Mein Problem war, dass der IE nur auf onmousemove=... im body-Tag reagierte und der MOZ onmousemove im Head erwartete.

            Geht nicht bei beiden

            document.onclick = show_mouse_pos;

            function show_mouse_pos(e)
            {
            var p = mouse_pos(e);
            alert(p.top + '/' + p.left);
            }

            Wobei, wie der event im Mozilla übergeben wird, wenn der event im HTML code übergeben wird, bin ich im moment überfragt.

            Das die Browserabfrage nicht taugt, ist mir schon klar, aber ein MausOMeter ist ja auch nicht wirklich lebenswichtig.

            Stimmt ;-)

            Struppi.

            1. Hallo Struppi,

              document.onmousemove=... funktioniert im IE (6) und im Firebird.
              Danke für den Tipp.
              So muss es sein: auf eine Frage geantwortet und was klüger geworden. (Und keine Browserabfrage mehr!)

              Gruß, Jürgen

              1. was schaffst du so an max. Geschwindigkeit?

                Also ich komm in horizontaler Richtung auf ca. 4,300 Pixel/sec ;-)

                Struppi.

                1. Hallo,

                  mit dem Touchpad über 5300 Pixel/s.

                  Gruß, Jürgen

                  1. mit ner microsoft maus und tollem os 9 treiber sogar 6244 Pix/s.

                    wusste doch dass man microsoft für irgendwas gebrauchen kann... ;o)

                    Gadg