mirror of
https://github.com/jquery/jquery.git
synced 2026-01-23 09:58:27 -05:00
Landing pull request 562. Make sure runtimeStyle isn't affected by dimensions. Fixes #9233.
More Details: - https://github.com/jquery/jquery/pull/562 - http://bugs.jquery.com/ticket/9233
This commit is contained in:
@@ -285,9 +285,8 @@ if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
||||
|
||||
if ( document.documentElement.currentStyle ) {
|
||||
currentStyle = function( elem, name ) {
|
||||
var left,
|
||||
var left, rsLeft,
|
||||
ret = elem.currentStyle && elem.currentStyle[ name ],
|
||||
rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ],
|
||||
style = elem.style;
|
||||
|
||||
if ( ret === null && style ) {
|
||||
@@ -300,8 +299,10 @@ if ( document.documentElement.currentStyle ) {
|
||||
// If we're not dealing with a regular pixel number
|
||||
// but a number that has a weird ending, we need to convert it to pixels
|
||||
if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
|
||||
|
||||
// Remember the original values
|
||||
left = style.left;
|
||||
rsLeft = elem.runtimeStyle && elem.runtimeStyle.left;
|
||||
|
||||
// Put in the new values to get a computed value out
|
||||
if ( rsLeft ) {
|
||||
|
||||
@@ -245,6 +245,29 @@ test("child of a hidden elem has accurate inner/outer/Width()/Height() see #944
|
||||
$divNormal.remove();
|
||||
});
|
||||
|
||||
test("getting dimensions shouldnt modify runtimeStyle see #9233", function() {
|
||||
expect( 1 );
|
||||
|
||||
var $div = jQuery( "<div>" ).appendTo( "#qunit-fixture" ),
|
||||
div = $div.get( 0 ),
|
||||
runtimeStyle = div.runtimeStyle;
|
||||
|
||||
if ( runtimeStyle ) {
|
||||
div.runtimeStyle.marginLeft = "12em";
|
||||
div.runtimeStyle.left = "11em";
|
||||
}
|
||||
|
||||
$div.outerWidth( true );
|
||||
|
||||
if ( runtimeStyle ) {
|
||||
equal( div.runtimeStyle.left, "11em", "getting dimensions modifies runtimeStyle, see #9233" );
|
||||
} else {
|
||||
ok( true, "this browser doesnt support runtimeStyle, see #9233" );
|
||||
}
|
||||
|
||||
$div.remove();
|
||||
});
|
||||
|
||||
test("outerHeight()", function() {
|
||||
expect(11);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user