From ea507b3e998126ae1f94f4fd1618994d645c9cc8 Mon Sep 17 00:00:00 2001 From: John Resig Date: Thu, 14 Oct 2010 14:52:31 -0400 Subject: [PATCH] Make sure that we don't attempt to handle scrolling when the node is disconnected from the document. Fixes #7190. --- src/offset.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/offset.js b/src/offset.js index bbb19c2..b94faf3 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, -- 1.7.10.4