Tim: Popup mit ESC schließen

Moin,

weiss jemand, wie man ein Popup-Fenster mit ESC schließen kann?

Bin schon mal so weit:
<body onkeypress="self.close()">

Da schliesst das Fenster aber mit jeder Taste.

Danke!
Timmi

  1. Hallo,

    vielleicht onkeypress="wenn taste gleich esc-taste => window.close"???

    Bert

  2. Hallo,

    weiss jemand, wie man ein Popup-Fenster mit ESC schließen kann?

    Bin schon mal so weit:
    <body onkeypress="self.close()">

    Da schliesst das Fenster aber mit jeder Taste.

    http://de.selfhtml.org/javascript/objekte/event.htm#key_code
    Und der keyCode von Escape ist 27. Also fragst du ab, ob die Eigenschaft keyCode des Event-Objekts (erster Parameter der Funktion, die den Event verarbeitet bzw. window.event) gleich 27 ist:

    function kp (e) {
     if (!e) e=window.event; // für MSIE
     if (e.keyCode==27) {
      self.close();
     }
    }
    window.onkeypress=kp;

    Mathias

    1. Hallo Mathias,

      danke für Deine Antwort. Ein kleines Problem habe ich noch:

      So funktioniert's im IE, nicht aber in Mozilla:

      <head>
      ...
      <script type="text/javascript">
      function kp(e)
       {
       if (!e) e=window.event; // für IE
       if (e.keyCode==27)
        {
         self.close();
        }
      }
      </script>
      </head>
      ...
      <body onkeypress="kp()">
      ...

      So im Mozilla, aber nicht im IE:

      <head>
      ...
      <script type="text/javascript">
      function kp(e)
       {
       if (!e) e=window.event; // für IE
       if (e.keyCode==27)
        {
         self.close();
        }
      }
      window.onkeypress=kp;
      </script>
      </head>
      ...
      <body>
      ...

      Kann man das irgendwie für beide Browser funktionsfähig machen?

      Danke!
      Tim

      1. ...hab jetzt 'ne Lösung, die in beiden funktioniert. Ist aber wahrscheinlich nicht ganz sauber:

        <head>
        ...
        <script type="text/javascript">
        function kp(e)
         {
         if (!e) e=window.event; // für IE
         if (e.keyCode==27)
          {
           self.close();
          }
        }
        window.onkeypress=kp;
        </script>
        </head>

        <body onkeydown="kp()">
        ...