[JS] Popup venster verliest focus -> actie

Pagina: 1
Acties:
  • 114 views sinds 30-01-2008
  • Reageer

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 23:58

me1299

$ondertitel

Topicstarter
Is er een methode om ervoor te zorgen dat er iets gebeurd als een popupvenster z'n focus verliest.

Als dat gebeurd wil ik graag het popup venster sluiten ipv op de achtergrond laten staan.

Ik heb momenteel dit:

code:
1
2
3
4
5
6
7
8
9
<html>
    <head>
        <body topmargin='0' leftmargin='0' marginheight='0'
marginwidth='0' onblur="self.close()"
onLoad="self.focus()">
            [img]'<?=[/img]' border='0'>
        </body>
    </head>
</html>


Dit werkt prima voor een popup met een plaatje. Maar ik heb nu een popup met een pagina en als ik dan ergens binnen een div klik wordt de pagina ook gesloten. En dat is dus niet te bedoeling.

[ Voor 16% gewijzigd door me1299 op 31-03-2004 14:47 ]

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

het onblur event van het window gebruiken ipv de body :)

code:
1
2
3
<script type="text/javascript">
onblur=close;
</script>

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 23:58

me1299

$ondertitel

Topicstarter
Bosmonster schreef op 31 maart 2004 @ 14:52:
het onblur event van het window gebruiken ipv de body :)

code:
1
2
3
<script type="text/javascript">
onblur=close;
</script>
Ik heb deze code tussen <head></head> gezet, maar het probleem blijft hetzelfde. Als ik ergens klik wordt het scherm afgesloten.

Het leek wel de juiste oplossing :)

[ Voor 12% gewijzigd door me1299 op 31-03-2004 15:05 ]

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Ik heb even lopen spelen, maar op het moment dat je bijvoorbeeld een tekstbox aanklikt blurred het window ook al dus ik denk niet dat wat jij wil ook kan.

  • JozyDaPozy
  • Registratie: December 2002
  • Laatst online: 13-05 14:00
Het kan wel..

Een soort gelijk probleem heb je ook met pull-down menu's..
Daar wordt dat vaak opgelost door een timertje..

Als je langer dan een bepaalde tijd niet boven je div hangt, kun je de popup sluiten..

[ Voor 3% gewijzigd door JozyDaPozy op 31-03-2004 15:35 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Hmm. dacht dat het venster wel uitkomst bood.. maar niet dus :(

Wat je wel kunt doen als het om een popup gaat, is niet de onblur van de popup gebruiken, maar de onfocus van de opener. Zodra het hoofdvenster weer de focus krijgt sluit je de popup.

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

jozy2002 schreef op 31 maart 2004 @ 15:34:
Het kan wel..

Een soort gelijk probleem heb je ook met pull-down menu's..
Daar wordt dat vaak opgelost door een timertje..

Als je langer dan een bepaalde tijd niet boven je div hangt, kun je de popup sluiten..
Dat werkt wel even heel anders dan het onblur event en is niet een soortgelijk probleem. Met die pull-down menu;s heb je soms te maken met het onmouseout event dat direct gevolgd wordt door het onmouseover event, en daar bouw je dan een timertje voor in.

En wat Bosmonster zegt: Gebruik de opener, maar dat is niet waterdicht natuurlijk.

  • pagani
  • Registratie: Januari 2002
  • Niet online
Hele lelijke oplossing: in je onblur-functie een check opnemen welke checked of er een onderdeel in de popup zelf gefocused is. (Dit kun je evt bijhouden door elk onderdeel bij een onfocus en onblur van dat onderdeel een boolean te laten zetten)
Pagina: 1