jQuery onunload在按下按钮时执行操作

jQuery onunload do action if button was pressed

本文关键字:执行 操作 按钮 onunload jQuery      更新时间:2023-09-26

我有一个小网站,它的客户端框架是jQuery

我有一个页面,在页面卸载之前,我需要执行一些AJAX操作,但如果单击某个按钮,该操作可能不会启动。

我试着用

<body onbeforeunload="myaction();"> 

但我怎么知道某个按钮是否被点击了呢?

var globalClickVariable = false;
$('#my-button').click(function() {
    globalClickVariable = true;
});
<body onbeforeunload="if(!globalClickVariable) { myaction(); }">

您还可以将onbeforeunload绑定到jQuery

myCounter = true;
$(window).load(function(){
    $('#mytest').bind('click', function(){
        myCounter = false;
    });
});
$(window).bind('beforeunload', function() {
    if (myCounter) {
       $.ajax({
          type: 'POST',
          url: 'mytest.php'
        });
    }
});