]> source.dussan.org Git - jquery.git/commitdiff
Revert "Offset: allow offset setter to throw for disconnected elements"
authorTimmy Willison <timmywillisn@gmail.com>
Mon, 15 Jun 2015 14:56:29 +0000 (10:56 -0400)
committerTimmy Willison <timmywillisn@gmail.com>
Tue, 16 Jun 2015 14:54:52 +0000 (10:54 -0400)
This reverts commit 0d11c1182f2012cd6eb06ce1e3fa5a495af9bee3.

src/offset.js
test/unit/core.js

index 5ae7153f1c9d63614ef32c34826903d8a54c4b94..a6aa2f1d5dcd0989b4812858a5c6bd46ba9f539c 100644 (file)
@@ -32,7 +32,7 @@ jQuery.offset = {
                        elem.style.position = "relative";
                }
 
-               curOffset = curElem.offset();
+               curOffset = curElem.offset() || { top: 0, left: 0 };
                curCSSTop = jQuery.css( elem, "top" );
                curCSSLeft = jQuery.css( elem, "left" );
                calculatePosition = ( position === "absolute" || position === "fixed" ) &&
index d8370637bb1b690505343cbe96856b466a93e09f..5a87e2f0cff4e298d8aad481670a9b9b642c035a 100644 (file)
@@ -36,6 +36,10 @@ test("jQuery()", function() {
                expected++;
                attrObj["width"] = 10;
        }
+       if ( jQuery.fn.offset ) {
+               expected++;
+               attrObj["offset"] = { "top": 1, "left": 1 };
+       }
        if ( jQuery.fn.css ) {
                expected += 2;
                attrObj["css"] = { "paddingLeft": 1, "paddingRight": 1 };
@@ -101,12 +105,16 @@ test("jQuery()", function() {
        elem = jQuery("\n\n<em>world</em>")[0];
        equal( elem.nodeName.toLowerCase(), "em", "leading newlines" );
 
-       elem = jQuery( "<div/>", attrObj );
+       elem = jQuery("<div/>", attrObj );
 
        if ( jQuery.fn.width ) {
                equal( elem[0].style.width, "10px", "jQuery() quick setter width");
        }
 
+       if ( jQuery.fn.offset ) {
+               equal( elem[0].style.top, "1px", "jQuery() quick setter offset");
+       }
+
        if ( jQuery.fn.css ) {
                equal( elem[0].style.paddingLeft, "1px", "jQuery quick setter css");
                equal( elem[0].style.paddingRight, "1px", "jQuery quick setter css");