Skip to main content
beforeunload | onbeforeunload event

Fires prior to a document being unloaded.


HTML Attribute <element onbeforeunload = "handler(event)">
Event Property object.onbeforeunload = handler;
attachEvent Method object.attachEvent("onbeforeunload", handler)
addEventListener Method object.addEventListener("beforeunload", handler, useCapture)


Event information



Event handler parameters

pEvtObj [in]

Type: IHTMLEventObj

Standards information

There are no standards that apply here.


When a string is assigned to the returnValue property of window. event, a dialog box appears that gives users the option to stay on the current document and retain the string that was assigned to it. The default statement that appears in the dialog box, "Are you sure you want to navigate away from this page? ... Press OK to continue, or Cancel to stay on the current page.", cannot be removed or altered.

onbeforeunload in Windows Store apps using JavaScript

In Windows Store apps using JavaScript, the onbeforeunload event fires before the top-level page in navigated. The returnValue property of window. event is always ignored and onunload will fire immediately. No dialog is shown to the user and the navigation can't be cancelled. Note that, in most cases, the app should never navigate its top-level document. Windows Store apps using JavaScript should use oncheckpoint event to determine when they need to save state information.

General info

This event signals that the document is about to be unloaded.

To invoke this event, do one of the following:

The pEvtObj parameter is required for the following interfaces:


This example uses the onbeforeunload event to ask users whether they want to remain on the current document or navigate to a new URL. When the user clicks on the hyperlink or attempts to close the window, the onbeforeunload event fires on the body and a dialog box displays. If the user chooses OK, the document navigates to the new URL ( or closes the window; if the user chooses Cancel, the document remains the same.

Code example:

<!DOCTYPE html>
  function closeIt()
    return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
  window.onbeforeunload = closeIt;
  <a href="">Click here to navigate to</a>

See also

Introduction to Data Binding