aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimmy Willison <timmywillisn@gmail.com>2015-05-05 08:31:39 -0700
committerTimmy Willison <timmywillisn@gmail.com>2015-05-05 08:31:39 -0700
commit6176567361e9d05d4f5eb7e98735a678f2cd7ea9 (patch)
tree3db3de394138622320dd8d95318338b76dc3f1df
parent1617479fcf7cbdaf33dc9334ed10a0f30bf14687 (diff)
downloadjquery-6176567361e9d05d4f5eb7e98735a678f2cd7ea9.tar.gz
jquery-6176567361e9d05d4f5eb7e98735a678f2cd7ea9.zip
Offset: remove ownerDocument check in offset getter
Fixes gh-2115
-rw-r--r--src/offset.js9
-rw-r--r--test/unit/offset.js11
2 files changed, 6 insertions, 14 deletions
diff --git a/src/offset.js b/src/offset.js
index 49ff26ac9..adcc8d64c 100644
--- a/src/offset.js
+++ b/src/offset.js
@@ -74,6 +74,7 @@ jQuery.offset = {
jQuery.fn.extend({
offset: function( options ) {
+ // Preserve chaining for setter
if ( arguments.length ) {
return options === undefined ?
this :
@@ -82,11 +83,10 @@ jQuery.fn.extend({
});
}
- var docElem, win, rect,
- elem = this[ 0 ],
- doc = elem && elem.ownerDocument;
+ var docElem, win, rect, doc,
+ elem = this[ 0 ];
- if ( !doc ) {
+ if ( !elem ) {
return;
}
@@ -94,6 +94,7 @@ jQuery.fn.extend({
// Make sure element is not hidden (display: none) or disconnected
if ( rect.width || rect.height || elem.getClientRects().length ) {
+ doc = elem.ownerDocument;
win = getWindow( doc );
docElem = doc.documentElement;
diff --git a/test/unit/offset.js b/test/unit/offset.js
index 057aa6df7..1a467ecff 100644
--- a/test/unit/offset.js
+++ b/test/unit/offset.js
@@ -42,20 +42,11 @@ module("offset", { setup: function(){
*/
test("empty set", function() {
- expect(2);
+ expect( 2 );
strictEqual( jQuery().offset(), undefined, "offset() returns undefined for empty set (#11962)" );
strictEqual( jQuery().position(), undefined, "position() returns undefined for empty set (#11962)" );
});
-test("object without getBoundingClientRect", function() {
- expect(2);
-
- // Simulates a browser without gBCR on elements, we just want to return 0,0
- var result = jQuery({ ownerDocument: document }).offset();
- equal( result.top, 0, "Check top" );
- equal( result.left, 0, "Check left" );
-});
-
test("disconnected element", function() {
expect(1);