replace cssPropsAware branch

This commit is contained in:
louisremi 2011-04-11 20:33:52 +02:00
parent 56ffad2dad
commit 272b8d69dc
2 changed files with 25 additions and 5 deletions

View file

@ -123,10 +123,16 @@ jQuery.extend({
css: function( elem, name, extra ) { css: function( elem, name, extra ) {
// Make sure that we're working with the right name // Make sure that we're working with the right name
var ret, origName = jQuery.camelCase( name ), var ret,
hooks = jQuery.cssHooks[ origName ]; hooks;
name = jQuery.cssProps[ origName ] || origName; name = jQuery.camelCase( name );
hooks = jQuery.cssHooks[ name ];
name = jQuery.cssProps[ name ] || name;
// cssFloat needs a special treatment
if ( name === 'cssFloat' ) {
name = 'float';
}
// If a hook was provided get the computed value from there // If a hook was provided get the computed value from there
if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
@ -134,7 +140,7 @@ jQuery.extend({
// Otherwise, if a way to get the computed value exists, use that // Otherwise, if a way to get the computed value exists, use that
} else if ( curCSS ) { } else if ( curCSS ) {
return curCSS( elem, name, origName ); return curCSS( elem, name );
} }
}, },
@ -273,7 +279,7 @@ jQuery(function() {
}); });
if ( document.defaultView && document.defaultView.getComputedStyle ) { if ( document.defaultView && document.defaultView.getComputedStyle ) {
getComputedStyle = function( elem, newName, name ) { getComputedStyle = function( elem, name ) {
var ret, defaultView, computedStyle; var ret, defaultView, computedStyle;
name = name.replace( rupper, "-$1" ).toLowerCase(); name = name.replace( rupper, "-$1" ).toLowerCase();

View file

@ -377,3 +377,17 @@ test("marginRight computed style (bug #3333)", function() {
equals($div.css("marginRight"), "0px"); equals($div.css("marginRight"), "0px");
}); });
test("jQuery.cssProps behavior, (bug #8402)", function() {
var div = jQuery( "<div>" ).appendTo(document.body).css({
position: "absolute",
top: 0,
left: 10
});
jQuery.cssProps.top = "left";
equal( div.css("top"), "10px", "the fixed property is used when accessing the computed style");
div.css("top", "100px");
equal( div[0].style.left, "100px", "the fixed property is used when setting the style");
// cleanup jQuery.cssProps
jQuery.cssProps.top = undefined;
});