Fix for bug #760 (fontSize returns different values in IE). This was part of a larger issue where IE returned non-pixel values from it's computed style - this normalizes it (thanks to a fix by Dean Edwards).
This commit is contained in:
parent
ba2109136d
commit
3abf3125cb
15
src/jquery/jquery.js
vendored
15
src/jquery/jquery.js
vendored
|
@ -643,6 +643,21 @@ jQuery.extend({
|
||||||
} else if (elem.currentStyle) {
|
} else if (elem.currentStyle) {
|
||||||
var newProp = prop.replace(/\-(\w)/g,function(m,c){return c.toUpperCase();});
|
var newProp = prop.replace(/\-(\w)/g,function(m,c){return c.toUpperCase();});
|
||||||
ret = elem.currentStyle[prop] || elem.currentStyle[newProp];
|
ret = elem.currentStyle[prop] || elem.currentStyle[newProp];
|
||||||
|
|
||||||
|
// From the awesome hack by Dean Edwards
|
||||||
|
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
||||||
|
|
||||||
|
// 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 ( !/^\d+(px)?$/i.test(ret) && /^\d/.test(ret) ) {
|
||||||
|
var style = elem.style.left;
|
||||||
|
var runtimeStyle = elem.runtimeStyle.left;
|
||||||
|
elem.runtimeStyle.left = elem.currentStyle.left;
|
||||||
|
elem.style.left = ret || 0;
|
||||||
|
ret = elem.style.pixelLeft + "px";
|
||||||
|
elem.style.left = style;
|
||||||
|
elem.runtimeStyle.left = runtimeStyle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in a new issue