Stephan Brun: OnKeypress/OnKeydown

Kann mir jemand sagen, wo der Unterschied der Befehle OnKeypress und OnKeydown liegt?

  1. Hi
    Ich hab mal ein kleines Javascriptprogram geschrieben, um den Unterschied herauszubekommen:
    <html>
    <head>
    <title>Test</title>
    <script language="JavaScript">
    <!--
    i=0;
    function tuewas() {
    i++;
    return
    }
    function schreibe() {
    alert("i="+i);
    return
    }
    document.onkeypress=tuewas; ** oder document.onkeydown=tuewas;**

    //-->
    </script>
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <a href="#" onmouseover="schreibe()">Wie groß ist i?</a>
    </body>
    </html>
    Bei onkeypress wird die funktion tuewas solange die Taste gedrueckt bleibt ausgefuehrt, waehrend bei onkeydown die funktion immer nur einmal aufgefuehrt wird. (getestet mit NS4.03)
    Ich hoffe das bringt wenigstens ein bischen Klarheit.
    Holger

    1. Hi

      Bei onkeypress wird die funktion tuewas solange die Taste gedrueckt bleibt ausgefuehrt, waehrend bei onkeydown die funktion immer nur einmal aufgefuehrt wird. (getestet mit NS4.03)
      Ich hoffe das bringt wenigstens ein bischen Klarheit.
      Holger

      Hallo Stephan!
      Also jetzt muss ich mich auch mal melden. Wie soll denn das Script funktionieren, wenn bei "OnMouseover" immer erst mal die "alert"-Meldung bestätigt werden muss?? Und überhaupt, in Selfhtml steht, dass onKeypress/onKeydown nur beim IE funktionieren, also kann es ja so nicht laufen.
      Wenn ich mich irre, dann gibs mir...

      Hallo Holger!
      Ich bastle gerade an einer Homepage für jemanden. Dort kannst Du Dir den Unterschied anschauen. Ich habe da zu Vorführzwecken ein DiaShow-Applet hochgeladen, wo in der oberen Reihe bei onKeydown die Bilder verschwinden und bei onKeypress die Bilder auftauchen. In der Zeit zwischen onKeypress und onKeydown ist es dunkel.
      Dauert allerdings ne weile, weil das Applet ca. 140 kB hat (ist ja auch nur zur demonstration).

      http://www1.inetservice.de/rudolf/test/testrett/jrett18n.htm

      Viele Gruesse
      Hartmut

      1. http://www1.inetservice.de/rudolf/test/testrett/jrett18n.htm

        Viele Gruesse
        Hartmut

        Nochmals ich,

        ich hab vergessen, darauf hinzuweisen, dass es eine Version für IE und eine Version für NN gibt. Die URL oben ist der Bereich für den Netscape. Dies wollte ich noch gesagt haben, bevor ihr mich für einen Dilettanten hält, falls ihr die Seite mit dem IE besucht.

        Gruss
        Hartmut

    2. Hi
      Ich hab mal ein kleines Javascriptprogram geschrieben, um den Unterschied herauszubekommen:
      <html>
      <head>
      <title>Test</title>
      <script language="JavaScript">
      <!--
      i=0;
      function tuewas() {
      i++;
      return
      }
      function schreibe() {
      alert("i="+i);
      return
      }
      document.onkeypress=tuewas; ** oder document.onkeydown=tuewas;**

      //-->
      </script>
      </head>
      <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
      <a href="#" onmouseover="schreibe()">Wie groß ist i?</a>
      </body>
      </html>
      Bei onkeypress wird die funktion tuewas solange die Taste gedrueckt bleibt ausgefuehrt, waehrend bei onkeydown die funktion immer nur einmal aufgefuehrt wird. (getestet mit NS4.03)
      Ich hoffe das bringt wenigstens ein bischen Klarheit.
      Holger

      Hallo Holger!
      Jetzt habe auch ich kapiert, was Du meintest. Hatte vorhin wohl einen Blackout oder so. Zu Dumm, dass man hier nichts löschen kann...
      Gruss
      Hartmut