Как проверить, нажата ли кнопка (X) во всплывающем окне - PullRequest
1 голос
/ 09 марта 2009

Я пытаюсь установить значение для скрытого поля в родительском окне из дочернего окна и хочу установить значение для родительского окна только тогда, когда всплывающее окно закрыто.

Это работает нормально, когда я использую кнопку, чтобы закрыть окно.

Сценарий для кнопки: OnClick = "JavaScript: window.close ();"

Но такое же условие не выполняется, когда я нажимаю кнопку (X) в строке заголовка. Может кто-нибудь помочь мне с этим вопросом

Ответы [ 5 ]

3 голосов
/ 09 марта 2009

Использовать onBeforeUnload.

2 голосов
/ 06 августа 2010
<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>
1 голос
/ 09 марта 2009

Я нашел диалог jQuery очень простым для создания всплывающих окон. Это не позволяет браузеру блокировать «настоящие» всплывающие окна и описанные здесь проблемы.

1 голос
/ 09 марта 2009

лучший способ сделать это - использовать window.onunload, но это событие также вызывается, когда вы нажимаете Ctrl + R (т.е. при обновлении), поэтому просто проверьте это.

0 голосов
/ 23 ноября 2017

Документ для вас: 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...