Merge branch 'fix_8402' of https://github.com/lrbabe/jquery into lrbabe-fix_8402
This commit is contained in:
commit
db80ad94d5
2 changed files with 25 additions and 5 deletions
16
src/css.js
16
src/css.js
|
@ -123,10 +123,16 @@ jQuery.extend({
|
|||
|
||||
css: function( elem, name, extra ) {
|
||||
// Make sure that we're working with the right name
|
||||
var ret, origName = jQuery.camelCase( name ),
|
||||
hooks = jQuery.cssHooks[ origName ];
|
||||
var ret,
|
||||
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 ( 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
|
||||
} else if ( curCSS ) {
|
||||
return curCSS( elem, name, origName );
|
||||
return curCSS( elem, name );
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -274,7 +280,7 @@ jQuery(function() {
|
|||
});
|
||||
|
||||
if ( document.defaultView && document.defaultView.getComputedStyle ) {
|
||||
getComputedStyle = function( elem, newName, name ) {
|
||||
getComputedStyle = function( elem, name ) {
|
||||
var ret, defaultView, computedStyle;
|
||||
|
||||
name = name.replace( rupper, "-$1" ).toLowerCase();
|
||||
|
|
|
@ -395,3 +395,17 @@ test("$().css override !important css declarations (bug #4427)", function(){
|
|||
equals( div.css("background-color"), "rgb(0, 255, 0)", "Background color is overrided to rgb(0, 255, 0)" );
|
||||
|
||||
});
|
||||
|
||||
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;
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue