aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Gaidarenko <markelog@gmail.com>2015-12-22 16:06:04 +0300
committerOleg Gaidarenko <markelog@gmail.com>2015-12-22 16:06:04 +0300
commitc7641e1ffa56c677de167cbdefa7cbea3155c273 (patch)
tree11d2ccb816d8cc59bff3ce7f0400d60e09a89d2c
parent0e3fa47abb48bb5cd627b3f18e4b7f8f39338cc6 (diff)
downloadjquery-c7641e1ffa56c677de167cbdefa7cbea3155c273.tar.gz
jquery-c7641e1ffa56c677de167cbdefa7cbea3155c273.zip
Revert "Offset: allow offset setter to throw for disconnected elements"
This reverts commit dc49f62f22a90ba95bbd1b659bfdae905adb4dd8.
-rw-r--r--src/offset.js2
-rw-r--r--test/unit/core.js10
2 files changed, 10 insertions, 2 deletions
diff --git a/src/offset.js b/src/offset.js
index fe9b44192..f3c6b222c 100644
--- a/src/offset.js
+++ b/src/offset.js
@@ -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" ) &&
diff --git a/test/unit/core.js b/test/unit/core.js
index c0edd3dcd..d1e618c8b 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -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" );