4

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

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

我正在尝试这个:

<body onbeforeunload="myaction();"> 

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

4

2 回答 2

4
var globalClickVariable = false;

$('#my-button').click(function() {
    globalClickVariable = true;
});

<body onbeforeunload="if(!globalClickVariable) { myaction(); }">
于 2012-08-28T13:34:38.147 回答
1

您还可以绑定onbeforeunloadjQuery

myCounter = true;
$(window).load(function(){
    $('#mytest').bind('click', function(){
        myCounter = false;
    });
});
$(window).bind('beforeunload', function() {
    if (myCounter) {
       $.ajax({
          type: 'POST',
          url: 'mytest.php'
        });
    }
}); 
于 2012-08-28T13:49:46.947 回答