【发布时间】:2015-02-04 07:38:41
【问题描述】:
我有一个锚标记,它的点击事件调用了一个 JavaScript 函数,该函数会打开一个弹出窗口。
现在当用户点击弹出窗口的关闭按钮时,我想生成一个alert(),询问用户是否要关闭弹出窗口
使用下面的代码,警报是在父窗口而不是弹出窗口中生成的
<script>
function openForm()
{
var new_window = window.open('file:///C:/Users/Tejora/Desktop/test.html','popup''width=825,height=585,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=50,top=0');
new_window.onbeforeunload = function(){
alert("Are you sure you want to close the window"); }
}
</script>
<a href="#" onclick="openForm()">Click</a>
提前谢谢...
【问题讨论】:
-
您正在寻找的功能称为“确认”,这是一种警报,但要求用户输入是/否。
-
使用
return confirm("Are you sure ...");显示确认对话框,而不是@doldt 提到的警报 -
confirm和alert调用不应在onbeforeunload事件处理程序中进行:“自 2011 年 5 月 25 日起,HTML5 规范声明对 window.alert()、window.confirm 的调用() 和 window.prompt() 方法在此事件期间可能会被忽略。” developer.mozilla.org/en-US/docs/Web/API/… -
嗯,
onbeforeunload也会在您点击返回按钮或刷新页面时被触发。我认为没有任何方法可以捕获浏览器关闭事件!使用自定义弹出窗口而不是新窗口怎么样?这将为您提供所需的所有控制。 -
@ArinCool 他正在打开一个弹出窗口。据推测,弹出窗口内没有额外的导航,并且新窗口以干净的历史记录开始,因此后退按钮不起作用。不过,在提神方面,您的观点仍然有效。
标签: javascript jquery html