Ich habe eine Reihe von kleinen Popup-Seiten, die sich selbst schließen sollen, wenn sie den Fokus verlieren, d. h. wenn der Benutzer auf das übergeordnete Dokument klickt.
Leider tritt die Unschärfe im IE8 auch dann auf, wenn der Benutzer beginnt, ein Eingabeformular innerhalb der Popup-Seite auszufüllen. In der Tat klicken überall innerhalb des Formulars verursacht, oder auch wenn der Benutzer versehentlich auf einen Text klickt. Es scheint, dass diese Elemente nicht Teil des Pop-up-Dokuments sind.
Wie kann ich sie dazu bringen?
Hier ist mein Unschärfe-Code (innerhalb eines .js-Skripts), den ich für die verschiedenen Pop-ups verwende:
var fClose=0
onload=function() {
fClose=0
setTimeout("doClose()",111);
document.onblur=Blur_Me;
document.onfocusout = Blur_Me;
}
function Blur_Me(){
fClose=1;
setTimeout("doClose()",111);
}
function doClose(){
if(fClose)close();
}