窗口关闭时会触发事件触发器

时间:2013-09-10 12:03:37

标签: javascript jquery

我有一个文本框,我已经附加了一个on-blur事件。当用户专注于页面中的其他元素时,我使用它来发送Ajax请求。当用户在浏览器中关闭浏览器或选项卡时,我希望触发模糊事件。我不想使用卸载,因为它在某些浏览器中不起作用。窗口关闭时是否会触发on-blur事件,或者窗口关闭时是否有任何方法可以发送Ajax请求。

3 个答案:

答案 0 :(得分:2)

假设你的on-blur事件发生在元素的“target”类上。

您还可以在beforeunload方法上附加事件。

$(window).bind('beforeunload',function(){
$(".target").blur();
});

并且模糊事件在Internet Explorer中不会出现气泡。因此,依赖于带有模糊事件的事件委派的脚本将无法在浏览器中一致地工作。

请检查

http://api.jquery.com/blur/

答案 1 :(得分:0)

onblur属性可用于在窗口上设置模糊处理程序,当窗口失去焦点时会触发该处理程序。当用户更改窗口时,您可以使用类似这样的内容来获取模糊事件触发器。

http://jsfiddle.net/xkDgQ/

<强> HTML

 <p>click on another window to fire the blur event for this browser window</p>

<强>的JavaScript

 window.onblur = blurText;

 function blurText() {
     alert("blur event detected!");
     // remove the event to stop an infinite loop!
     window.onblur = '';
 }

答案 2 :(得分:-1)

不,仅在窗口关闭时触发onunloadonbeforeunload,即使不是在所有浏览器中也是如此。浏览会话的终止通常超出了js的控制范围。

P.S。:即使它们发射了,我也不认为运行时会分配足够的时间或内存来生成和激发XHR对象......