Вот так я наконец и сделал!Вы можете нанести слой (полноразмерный) на ваше тело с высоким z-индексом и, конечно, скрытый.Вы сделаете его видимым, когда окно открыто, сфокусируете его на щелчке по родительскому окну (слою) и, наконец, исчезните, когда открытое окно будет закрыто или отправлено, или как угодно.
.layer
{
position: fixed;
opacity: 0.7;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 999999;
background-color: #BEBEBE;
display: none;
cursor: not-allowed;
}
ислой в теле:
<div class="layout" id="layout"></div>
функция, которая открывает всплывающее окно:
var new_window;
function winOpen(){
$(".layer").show();
new_window=window.open(srcurl,'','height=750,width=700,left=300,top=200');
}
, сохраняя фокус в новом окне:
$(document).ready(function(){
$(".layout").click(function(e) {
new_window.focus();
}
});
и в открывшемся окне:
function submit(){
var doc = window.opener.document,
doc.getElementById("layer").style.display="none";
window.close();
}
window.onbeforeunload = function(){
var doc = window.opener.document;
doc.getElementById("layout").style.display="none";
}
Надеюсь, это поможет: -)