]> 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:55:48 +0000 (10:55 -0400)
This reverts commit 0d11c1182f2012cd6eb06ce1e3fa5a495af9bee3.

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

index 1d7ce300e7c1616db52c6af8b202467f7f8ef151..69a4149583482b44d835ab8f9c9167546d2a2601 100644 (file)
@@ -39,7 +39,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 07019e86b940a7132047b0b8087f5980fb596662..848ca2a5f9ee526082ce67e85220b07fc788f64a 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");