]> source.dussan.org Git - jquery.git/commitdiff
Revert "Offset: allow offset setter to throw for disconnected elements"
authorOleg Gaidarenko <markelog@gmail.com>
Tue, 22 Dec 2015 13:06:04 +0000 (16:06 +0300)
committerOleg Gaidarenko <markelog@gmail.com>
Tue, 22 Dec 2015 13:06:04 +0000 (16:06 +0300)
This reverts commit dc49f62f22a90ba95bbd1b659bfdae905adb4dd8.

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

index fe9b44192964cb550abc116055742bf86e53fd40..f3c6b222c507ae81c85a8fdb9386d5c5e7341b85 100644 (file)
@@ -41,7 +41,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 c0edd3dcdf28438bb119913d121505766cff1bf0..d1e618c8b081ef6223261aa11fbeffdbdae3c474 100644 (file)
@@ -40,6 +40,10 @@ QUnit.test( "jQuery()", function( assert ) {
                expected++;
                attrObj[ "offset" ] = { "top": 1, "left": 1 };
        }
+       if ( jQuery.fn.offset ) {
+               expected++;
+               attrObj["offset"] = { "top": 1, "left": 1 };
+       }
        if ( jQuery.fn.css ) {
                expected += 2;
                attrObj[ "css" ] = { "paddingLeft": 1, "paddingRight": 1 };
@@ -105,7 +109,7 @@ QUnit.test( "jQuery()", function( assert ) {
        elem = jQuery( "\n\n<em>world</em>" )[ 0 ];
        assert.equal( elem.nodeName.toLowerCase(), "em", "leading newlines" );
 
-       elem = jQuery( "<div/>", attrObj );
+       elem = jQuery("<div/>", attrObj );
 
        if ( jQuery.fn.width ) {
                assert.equal( elem[ 0 ].style.width, "10px", "jQuery() quick setter width" );
@@ -115,6 +119,10 @@ QUnit.test( "jQuery()", function( assert ) {
                assert.equal( elem[ 0 ].style.top, "1px", "jQuery() quick setter offset" );
        }
 
+       if ( jQuery.fn.offset ) {
+               equal( elem[0].style.top, "1px", "jQuery() quick setter offset");
+       }
+
        if ( jQuery.fn.css ) {
                assert.equal( elem[ 0 ].style.paddingLeft, "1px", "jQuery quick setter css" );
                assert.equal( elem[ 0 ].style.paddingRight, "1px", "jQuery quick setter css" );