在我点击按钮的 jsp 中,我显示了一个使用 javascript 的弹出窗口。弹出内容使用另一个 3rd 方站点显示。弹出窗口有一个关闭按钮,在关闭弹出窗口时,我需要在 jsp 中隐藏或不显示该按钮。我该如何处理?
问问题
5147 次
3 回答
1
如果您可以控制弹出窗口的关闭代码,请在弹出窗口中尝试以下操作:
window.opener.document.getElementById('myButton').style.visibility="hidden";
如果你无法控制打开窗口的关闭代码,有人想出了一个聪明的主意:
var win = window.open('http://www.google.com', 'google','width=800,height=600,status=0,toolbar=0');
var timer = setInterval(function() {
if(win.closed) {
clearInterval(timer);
document.getElementById('myButton').style.visibility="hidden";
}
}, 1000);
更新:对于 Internet Explorer,当从不同域加载页面到打开的窗口时,如果启用保护模式,它将返回 null 而不是对窗口的引用。看到这个小提琴。
于 2012-06-05T14:43:49.833 回答
1
您可以使用$(selector).hide();
隐藏元素,以下是在外部单击时关闭弹出窗口的方法:
此外,您可以使用纯 javascript 并且:
document.getElementById('elementId').style.visibility = 'hidden';
单击要隐藏的元素外部:
$(document).click(function (event) {
if (event.target.className != 'elementToOpen' &&
$(event.target).parents().index($('#popupWrap')) == -1) {
if ($('#popupWrap').is(':visible')) {
$('#popupWrap').hide();
// .hide() will give selected element css(display:'none')
}
}
});
于 2012-06-05T14:20:09.157 回答
0
如果您也在使用 JQuery,您只需获取按钮的 id/class 并将以下内容添加到您的按钮调用的 js 函数中:
$("#yourID").hide();
$(".yourClass").hide();
于 2012-06-05T14:11:55.137 回答