From aea5b091954b3c823b318b392660b22c7b1e978a Mon Sep 17 00:00:00 2001 From: John Resig Date: Sun, 6 Dec 2009 16:55:08 -0800 Subject: [PATCH] Adding in cross-browser onbeforeunload support. Fixes #4106. --- src/event.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/event.js b/src/event.js index bf7798bb7d..d9401c99e7 100644 --- a/src/event.js +++ b/src/event.js @@ -327,6 +327,8 @@ jQuery.event = { } } + + return event.result; }, props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), @@ -432,6 +434,21 @@ jQuery.event = { } }, special: {} + }, + beforeunload: { + setup: function( data, namespaces, fn ) { + // We only want to do this special case on windows + if ( this.setInterval ) { + this.onbeforeunload = fn; + } + + return false; + }, + teardown: function( namespaces, fn ) { + if ( this.onbeforeunload === fn ) { + this.onbeforeunload = null; + } + } } } };