4

クライアント側のフレームワークがjQueryである小さな Web サイトがあります。

ページをアンロードする前に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

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'
        });
    }
}); 
于 2012-08-28T13:49:46.947 に答える