So eine ähnliche Frage gab es heute schon mal und sie schlug hohe Wellen:
Ich will durch drücken eines Links ein neues Fenster (quasi POPUP) erzeugen, dass aber verschwindet, nachdem man irgentetwas außerhalbt des Fensters clickt. Klarer Fall dachte ich mir, wozu gibt es den den onBlur-Eventhandler. Ein kurzer Blick in SELF-HTML und schon habe ich ein Beispiel gefunden, dass meinem Problem ähnelt </selfhtml/tecb.htm#a21>. Ein wenig Cut'n'Paste Programmierung, Events ändern und fertig.
<body>
<script language="JavaScript">
function NeuesFenster()
{
POPUP = window.open("","PopUpFenster","width=10,height=10");
POPUP.document.open();
POPUP.document.writeln ("Hello World!");
POPUP.document.close();
POPUP.focus;
POPUP.onblur = POPUP.close;
}
</script>
<a href="javascript:NeuesFenster()">click me!</a> </body>
Fertig?? Eben nicht. Zumidest nicht wenn man das mit IE 5 zum laufen bringen will. Mit Netscape 4.5 veschwindet das Fenster wenn es den focus verliert, mit IE bleibt es ruhig liegen.
Möglicherweise hat es damit zu tun, dass auch das Beispiel in SELFHTML (s.o.) auch nicht mit IE läuft. Klar ist: window.captureEvents() ist JS1.2 und somit nicht unbedingt im IE zu verwenden. Aber in meinem Beispiel verwende ich captureEvents gar nicht. onblur sollte auch IE seit langem kennen.
Hat jemand eine Idee wie es auch mit IE geht?
Nebenbei: Ich kenne Javascript nicht supergut, also nicht wie heute morgen meckern wenn es alle schon wissen ;-). Ich bin schon froh dass ich es alleine wenigstens mit Netscape geschafft habe.
Gruß
David