将在窗口关闭时触发模糊事件



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

假设您的模糊事件发生在元素的"目标"类上。

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

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

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

请检查

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

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 = '';
 }

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

PS:即使它们确实触发了,我认为运行时也没有足够的时间或内存来生成和触发 XHR 对象......

最新更新