通过Jquery检测关闭窗口事件

Duc*_* Le 22 javascript jquery jquery-events

能否请您给我检测的最好方法只有窗口关闭事件所有的浏览器的jQuery?

我的意思是单击浏览器上的X按钮或window.close(),而不是F5,表单提交,window.location或链接.我正在寻找许多线程,但没有找到正确的方法.

非常感谢您的支持.

mji*_*cua 36

您可以使用:

$(window).unload(function() {
    //do something
}
Run Code Online (Sandbox Code Playgroud)

在jQuery 1.8版中不推荐使用Unload(),所以如果你使用jQuery> 1.8,你甚至可以使用beforeunload.

每当用户出于任何原因离开您的页面时,都会触发beforeunload事件.

$(window).on("beforeunload", function() { 
    return confirm("Do you really want to close?"); 
})
Run Code Online (Sandbox Code Playgroud)

浏览器窗口关闭事件


Nav*_*r K 11

捕获浏览器关闭事件没有特定事件.

您只能在卸载当前页面时捕获.

通过这种方法,它将在刷新/导航当前页面时实现.

即使计算鼠标事件的XY位置也不会给你带来好的结果.


小智 10

在jQuery 1.8版中不推荐使用unload()方法.

所以,如果你使用的是1.8以上的版本

然后使用 -

$(window).unload(function(){
alert("Goodbye!");
});
Run Code Online (Sandbox Code Playgroud)

如果你使用的是1.8或更高版本

然后使用 -

window.onbeforeunload = function() {
    return "Bye now!";
};
Run Code Online (Sandbox Code Playgroud)

希望这会奏效:-)


小智 6

捕获浏览器关闭事件没有特定事件.但我们可以通过浏览器位置检测XY.

<script type="text/javascript">
$(document).ready(function() {
  $(document).mousemove(function(e) {
    if(e.pageY <= 5)
    {
        //this condition would occur when the user brings their cursor on address bar 
        //do something here 
    }
  });
});
</script>
Run Code Online (Sandbox Code Playgroud)