From: John Resig Date: Thu, 14 Oct 2010 18:52:31 +0000 (-0400) Subject: Make sure that we don't attempt to handle scrolling when the node is disconnected... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=ea507b3e998126ae1f94f4fd1618994d645c9cc8 Make sure that we don't attempt to handle scrolling when the node is disconnected from the document. Fixes #7190. --- 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,