在jQuery中永远不会调用(window).unload函数

时间:2013-06-24 01:16:48

标签: javascript jquery

我尝试过几种浏览器:chrome,firefox和Internet Explorer。我的页面包含以下代码:

$(window).unload(function() {
  alert('Leaving page');
});

,当我离开页面时,Leaving页面警报永远不会出现。我知道语法是正确的,因为当我更改代码以调用load函数时,只需删除“un-”就这样:

$(window).load(function() {
  alert('Leaving page');
});

加载窗口时警报显示正常,控制台也没有说出被阻止的任何内容。我也尝试过使用onbeforeunload:

window.onbeforeunload = function() {
  alert('Leaving page');
};

没有成功。

1 个答案:

答案 0 :(得分:3)

这是设计的。您根本不能unload event中的alert()

  
      
  • UI交互无效(window.open,alert,confirm etc.)
  •   

如果您想让用户有机会改变关闭窗口的想法,beforeunload是正确的事件。但是,您只能return要显示的message

window.onbeforeunload = function () {
    return 'Leaving already?';
};