Dimensions: allow modification of coordinates argument

Fixes gh-1848
Closes gh-1853
This commit is contained in:
Oleg Gaidarenko 2014-11-11 16:27:44 +03:00
parent 9d6beac395
commit f7e60dc83d
2 changed files with 15 additions and 1 deletions

View File

@ -51,7 +51,9 @@ jQuery.offset = {
}
if ( jQuery.isFunction( options ) ) {
options = options.call( elem, i, curOffset );
// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
}
if ( options.top != null ) {

View File

@ -455,4 +455,16 @@ testIframe( "dimensions/documentLarge", "window vs. large document", function( j
ok( jQuery( document ).width() > jQuery( window ).width(), "document width is larger than window width" );
});
test( "allow modification of coordinates argument (gh-1848)", 1, function() {
var element = jQuery( "<div/>" ).appendTo( "#qunit-fixture" );
element.offset(function( index, coords ) {
coords.top = 100;
return coords;
});
equal( element.offset().top, 100, "coordinates are modified" );
});
})();