Esto se puede hacer con el evento onblur que es llamado cuando el objeto (en este caso la ventana) pierde el foco.
Lo que hace este ejemplo es cuando la ventana pierde el foco, pasárselo con el método focus(), también le pasa el foco cuando la ventana se ha cargado (onLoad=¨self.focus()¨).
Sin embargo en la realidad no es siempre tan efectivo como con la teoría puede parecer, ya que dependiendo del sistema operativo y del explorador del usuario el foco será cargado de una forma u otra, por ejemplo en Netscape la primera vez que intentas salir a la ventana padre sí que carga el foco, pero si lo intentas dos veces seguidas, a la segunda se podrá ir al padre.
<body onBlur=¨self.focus ()¨ onLoad=¨self.focus ()¨>
Esta es otra forma que al hacer click en el popUp se cierra:
<body onBlur=¨self.close ()¨ onLoad=¨self.focus ()¨ onClick=¨self.close ()¨>