Обнаруживает щелчок вне документа - PullRequest
1 голос
/ 19 октября 2011

У меня проблема с обнаружением события щелчка вне документа, например, при закрытии кнопки браузера без использования события onbeforeunload, потому что у меня есть страница JSP, которая что-то обрабатывает, используя метаобновление, чтобы дать статусэволюция процесса.

Поскольку я использую мета-обновление, я не могу использовать событие window.onbeforeunload, чтобы предотвратить / подтвердить выход пользователя, потому что мета-обновление вызовет событие.Таким образом, мне нужно вручную проверить, будет ли мышь щелкать за пределами моего документа.

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

if (window.event.clientY < 82 && window.onclick)

У кого-нибудь есть идеи по решению этой проблемы?

Заранее спасибо!

Ответы [ 3 ]

6 голосов
/ 19 октября 2011

Обнаружение кнопки закрытия невозможно, но вы можете определить, теряет ли пользователь фокус браузера, выполнив:

$(window).blur(function() {
    alert('lost focus');
}
2 голосов
/ 19 октября 2011

Это невозможно. События не запускаются за пределы документа, включая щелчки в окне Chrome.

1 голос
/ 19 октября 2011

Я думаю, вам нужно подумать о том, чего вы пытаетесь достичь.Это звучит как шаткий дизайн, если вы должны получить событие закрытия страницы.Множество других событий будут влиять на вас, если это вызывает озабоченность.

Если у вас есть страница JSP, создающая и отображающая статус с помощью мета-обновления - какая у вас проблема с закрытием окна?Это должно беспокоить вас, а не то, как обнаружить событие закрытия браузера.

...