aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/offset.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/offset.js b/src/offset.js
index bbb19c2e3..b94faf37b 100644
--- a/src/offset.js
+++ b/src/offset.js
@@ -23,14 +23,17 @@ if ( "getBoundingClientRect" in document.documentElement ) {
try {
box = elem.getBoundingClientRect();
+ } catch(e) {}
- } catch(e) {
- return { top: 0, left: 0 };
+ var doc = elem.ownerDocument,
+ docElem = doc.documentElement;
+
+ // Make sure we're not dealing with a disconnected DOM node
+ if ( !box || !jQuery.contains( docElem, elem ) ) {
+ return box || { top: 0, left: 0 };
}
- var doc = elem.ownerDocument,
- body = doc.body,
- docElem = doc.documentElement,
+ var body = doc.body,
win = getWindow(doc),
clientTop = docElem.clientTop || body.clientTop || 0,
clientLeft = docElem.clientLeft || body.clientLeft || 0,