如何检查弹出窗口中是否单击了(X)按钮

时间:2009-03-09 07:49:57

标签: javascript html

我正在尝试将子窗口中的值设置为父窗口中的隐藏字段,并且仅在弹出窗口关闭时才将值设置为父窗口。

当我使用按钮关闭窗口时,这工作正常。

按钮的脚本是: 的onclick = “JavaScript的:window.close()的;”

但是当我点击标题栏中的(X)按钮时,相同的条件会失败。任何人都可以帮我解决这个问题

5 个答案:

答案 0 :(得分:3)

使用onBeforeUnload。

答案 1 :(得分:2)

<html>
<script type="text/javascript">
    function ConfirmClose()
    {
       if ((event.clientY < 0) ||(event.altKey) ||(event.ctrlKey)||((event.clientY < 129) && (event.clientY>107)))
        {
//event.altKey When press Alt +F4
//event.ctrlKey When press Ctrl +F4
//event.clientY 107 or 129 is  Alt F4 postion on window screen it may change base on screen resolution
alert('window closing');
        }
    }
</script>

<body topmargin='0'  onbeforeunload="ConfirmClose()">
</body>
 </html>

答案 2 :(得分:1)

执行此操作的最佳方法是使用window.onunload,但是当您按ctrl + r(即刷新时)时也会触发此事件,所以只需检查一下。

答案 3 :(得分:1)

我发现jQuery dialog很容易创建弹出窗口。这可以防止浏览器阻止“真实”弹出窗口,以及您在此处描述的问题。

答案 4 :(得分:0)

您的文件:http://www.openjs.com/scripts/events/keyboard_shortcuts/

shortcut.add("Ctrl+Shift+X",function() {
    alert("Hi there!");
});

下载:http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js