2013-12-13 140 views
0

我想要一個用戶,當他試圖離開我的網頁時,與消息。我的頁面包含一個表單和一些鏈接(菜單等)。我的jQuery代碼如下Beforeunload事件不工作,因爲我認爲它應該

$(document).ready(function(){ 
    $(window).bind('beforeunload', function(e){ 
     answer=confirm('Do you want to go?'); 
     if (answer===false){ 
      e.preventDefault(); 
     } 
    }); 
}); 

但是,當我點擊其中一個鏈接,用戶瀏覽頁面外,沒有確認對話框出現什麼都沒有。我誤解了beforeunload事件嗎?

+0

每個瀏覽器都有它自己的方式來處理beforeunload事件。當然,您無法防止此事件的默認行爲。你應該只是返回一個字符串提示消息 –

+1

http://stackoverflow.com/questions/6063522/jquery-beforeunload –

回答

1

不幸的是,沒有辦法覆蓋默認行爲。大多數瀏覽器只顯示事件的returnValue,並伴有'OK'/'離開頁面'和'取消'按鈕。你可以儘管設置消息:

window.onbeforeunload = function (e) { 
     var e = e || window.event; 
     // For IE and Firefox prior to version 4 
     if (e) { 
      e.returnValue = 'Hey, you are leaving. Do you want to continue?'; 
     } 
     //you can do some last minute scripting here 
     // For Safari 
     return 'Hey, you are leaving. Do you want to continue?'; 
}; 

至於建議由Jason P,read more on it here

相關問題