onbeforeunload Event

Internet Development Index

Fires prior to a page being unloaded.

Syntax

Inline HTML<ELEMENT onbeforeunload = "handler" ... > All platforms
Event propertyobject.onbeforeunload = handlerJScript only
object.onbeforeunload = GetRef("handler")Visual Basic Scripting Edition (VBScript) 5.0 or later only
Named script <SCRIPT FOR = object EVENT = onbeforeunload> Internet Explorer only

Event Information

BubblesNo
CancelsYes
To invoke
  • Close the current browser window.
  • Navigate to another location by entering a new address or selecting a Favorite.
  • Click the Back, Forward, Refresh, or Home button.
  • Click on an a that refers the browser to another Web page.
  • Invoke the a?A HREF="../methods/click.html">click method.
  • Invoke the document?A HREF="../methods/write.html">write method.
  • Invoke the document?A HREF="../methods/open_1.html">open method.
  • Invoke the document?A HREF="../methods/close_1.html">close method.
  • Invoke the window?A HREF="../methods/close_0.html">close method.
  • Invoke the window?A HREF="../methods/open_0.html">open method, providing the possible value _self for the window name.
  • Invoke the window?A HREF="../methods/navigate.html">navigate or NavigateAndFind method.
  • Invoke the location?A HREF="../methods/replace.html">replace method.
  • Invoke the location?A HREF="../methods/reload.html">reload method.
  • Specify a new value for the location?A HREF="../properties/href_3.html">href property.
  • Submit a form to the address specified in the action attribute via the input type=submit control, or invoke the form?A HREF="../methods/submit.html">submit method.
Default action Signals that the page is about to be unloaded.

Event Object Properties

Although event handlers in the DHTML Object Model do not receive parameters directly, a handler can query an event object for data.

Available Properties

altKey Sets or retrieves a value that indicates the state of the ALT key.
altLeft Sets or retrieves a value that indicates the state of the left ALT key.
clientX Sets or retrieves the x-coordinate of the mouse pointer's position relative to the client area of the window, excluding window decorations and scroll bars.
clientY Sets or retrieves the y-coordinate of the mouse pointer's position relative to the client area of the window, excluding window decorations and scroll bars.
ctrlKey Sets or retrieves the state of the CTRL key.
ctrlLeft Sets or retrieves the state of the left CTRL key.
returnValue Sets or retrieves the return value from the event.
shiftKey Sets or retrieves the state of the SHIFT key.
shiftLeft Retrieves the state of the left SHIFT key.
type Sets or retrieves the event name from the event object.

Remarks

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 page 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.

Example

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

<HTML>
<HEAD>
<SCRIPT>
function closeIt()
{
event.returnValue = "Any string value here forces a dialog box to \
appear before closing the window.";
}
</SCRIPT>
</HEAD>
<BODY onbeforeunload="closeIt()">
<a href="http://www.microsoft.com">Click here to navigate to
www.microsoft.com</a>
</BODY>
</HTML>
This feature requires Microsoft® Internet Explorer 4.0 or later. Click the following icon to install the latest version. Then reload this page to view the sample.

Standards Information

There is no public standard that applies to this event.

Applies To

BODY, FRAMESET, window

See Also

Introduction to Data Binding, onload, onunload