我在jsp中设计了一个窗口,其中有一个搜索按钮。当用户点击“搜索”按钮时,会出现新窗口。但是此时我希望我的父窗口被禁用,这样当用户尝试在父窗口上做任何事情时,它应该不允许,直到“搜索”表单关闭。
如果有人知道该怎么做,请告诉我。
我已经尝试过此解决方案Javascript to open popup window and disable parent window,但此解决方案无法禁用父页面上的链接。 我不打算使用showmodaldialog。 或者有人可以用一个例子向我解释showdialog()的使用 谢谢, 勒凯什
答案 0 :(得分:5)
function openSearchPopUp() {
popupWindow= window.open(url,'window','width=800,
height=600,location=yes,
menubar=yes,scrollbars=yes,
resizable=yes');
popupWindow.focus();
document.onmousedown = focusPopup;
document.onkeyup = focusPopup;
document.onmousemove = focusPopup;
}
function focusPopup() {
if(popupWindow && !popupWindow.closed) { popupWindow.focus(); }
}
答案 1 :(得分:2)
我呈现模态窗口的方式是我创建一个覆盖整个文档的DIV,具有高Z-index,然后我阻止了点击事件的传播。在jQuery中,我会这样做:
// When popup window is open:
var $cover = $('<div>');
$cover.css({
height: $(document).height(),
width: $(document).width(),
margin: 0,
padding: 0,
background: 'black',
opacity: 0.5
});
$cover.click(function(e) {
e.stopPropagation();
return false;
});
$cover.appendTo(document);
编辑:这是我使用纯JS做的快速和肮脏的事情。我相信它可以得到改进,以获得更好的跨浏览器支持。
答案 2 :(得分:1)
您可以使用 Greybox 。请访问以下链接:http://orangoo.com/labs/GreyBox/
希望这足以满足您的要求。