我有一个文本框,并在其中附加了一个模糊事件。当用户关注页面中的其他元素时,我使用它来发送 Ajax 请求。当用户关闭浏览器或浏览器中的选项卡时,我希望 on-blur 事件也能触发。我不想使用卸载,因为它在某些浏览器中不起作用。窗口关闭时是否会触发 on-blur 事件,或者是否有任何方法可以在窗口关闭时发送 Ajax 请求。
问问题
2976 次
3 回答
2
假设,您的 on-blur 事件发生在元素的“目标”类上。
您还可以在 beforeunload 方法上附加事件。
$(window).bind('beforeunload',function(){
$(".target").blur();
});
并且模糊事件不会在 Internet Explorer 中冒泡。因此,依赖于带有 blur 事件的事件委托的脚本将无法在浏览器中始终如一地工作。
请检查
于 2013-09-10T12:19:41.807 回答
1
onblur 属性可用于设置窗口上的模糊处理程序,当窗口失去焦点时触发。当用户更改窗口时,您可以使用类似的东西来触发模糊事件。
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 = '';
}
于 2013-09-10T12:12:24.290 回答
-1
不,只有onunload
和onbeforeunload
在窗口关闭时触发,即使在所有浏览器中也不会触发。浏览会话的终止一般不在 js 的控制范围之内。
PS:即使它们确实触发了,我认为运行时不会有足够的时间或内存分配来生成和触发 XHR 对象......
于 2013-09-10T12:17:25.560 回答