2012-08-28 22 views
4

我有一個小型網站的客戶端框架是jQuery如果按下按鈕,jQuery onunload做動作

我有一個頁面,我需要做一些AJAX頁面卸載前的動作,但如果某個按鈕被點擊,該動作可能不會觸發。

我與嘗試此:

<body onbeforeunload="myaction();"> 

但是我怎麼知道某個按鈕被點擊或沒有?

回答

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' 
     }); 
    } 
}); 
+0

ce tare,lasa-ma sa驗證。 – Mihai

+0

multumesc。 D – Mihai

4
var globalClickVariable = false; 

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

<body onbeforeunload="if(!globalClickVariable) { myaction(); }"> 
+0

哇,你怎麼回答快伴侶嗎?讓我嘗試。 – Mihai

+0

它的工作原理,謝謝。 – Mihai