Til S.: onBlur

Ich schreibe gerade an einer Seite, bei der immer wieder mal Fenster mit Zusatzinfos aufgemacht werden koennen. Diese sollen sich selber schliessen, wenn sie den Fokus verlieren.
Alles ganz einfach, dachte ich:

<body onBlur="this.close()">

Dabei gehen die Fenster aber auch zu, wenn man in sie hineinklickt !!!
Nun hab ich stattdessen ein kleines script in den head gesetzt:

function f1() {this.close()}
window.onblur=f1;

Damit kommt beim IE4+ das gewuenschte Verhalten, nicht aber bei NS4+. Es bleibt dabei: sobald man in das Fenster clickt wird ein onBlur-Event augefuehrt.

Also falls jemand diesem Problem schon mal begegnet ist...

  1. Hallo Til,

    gib mal beim aufrufenden window.open die Angabe dependent=yes mit,
    dann sollte es gehen.

    Viele Grüße  Günter

    1. Lieber Günter,
      das ändert gar nix!

      Denn ich will nicht, dass das Zusatzfenster geschlossen wird, wenn der opener das wird, sondern, wie gesagt, wenn das Zusatzfenster den Fokus verliert.

      1. Hallo Til,

        Denn ich will nicht, dass das Zusatzfenster geschlossen wird, wenn der opener das wird, sondern, wie gesagt, wenn das Zusatzfenster den Fokus verliert.

        aber genau das passiert ja dann ... (zumindest habe ich selbst so ein Beispiel dafür)

        Viele Grüße  Günter

        1. Ja,
          aber eben auch wenn man in das Zusatzfenster hineinklickt,
          was absolut inakzeptabel ist.

  2. Ich schreibe gerade an einer Seite, bei der immer wieder mal Fenster mit Zusatzinfos aufgemacht werden koennen. Diese sollen sich selber schliessen, wenn sie den Fokus verlieren.

    Hallo Til,

    vielleicht hilft dir dieses Workaround weiter. Trage dieses Script in den Header der öffenden Datei ein. Wird dann auf diese geklickt, verliert ja das Fenster seinen Focus und die Hauptdatei erhält ihn. In diesem Fall wird dann das Fenster geschlossen.

    x=false;
        function offen()
       {   f1=window.open("onblutets1.htm","naivil");x=true; }

    function zu()
       {
       if (x)
         { if (!f1.closed) f1.close();x=false; }

    }

    <body onFocus="zu()">

    Viele Grüße

    Antje