Prevent IE from throwing errors when setting RGBA values. Fixes #5509.

This commit is contained in:
Colin Snover 2010-10-09 10:42:01 -04:00 committed by jeresig
parent a2aefbf3b1
commit 2ca3659895
2 changed files with 16 additions and 2 deletions

View file

@ -88,7 +88,11 @@ jQuery.extend({
// If a hook was provided, use that value, otherwise just set the specified value // If a hook was provided, use that value, otherwise just set the specified value
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) { if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
// Wrapped to prevent IE from throwing errors when 'invalid' values are provided
// Fixes bug #5509
try {
style[ name ] = value; style[ name ] = value;
} catch(e) {}
} }
} else { } else {

View file

@ -64,7 +64,7 @@ test("css(String|Hash)", function() {
}); });
test("css(String, Object)", function() { test("css(String, Object)", function() {
expect(21); expect(22);
ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible'); ok( jQuery('#nothiddendiv').is(':visible'), 'Modifying CSS display: Assert element is visible');
jQuery('#nothiddendiv').css("display", 'none'); jQuery('#nothiddendiv').css("display", 'none');
@ -104,6 +104,16 @@ test("css(String, Object)", function() {
equals( ret, div, "Make sure setting undefined returns the original set." ); equals( ret, div, "Make sure setting undefined returns the original set." );
equals( div.css("display"), display, "Make sure that the display wasn't changed." ); equals( div.css("display"), display, "Make sure that the display wasn't changed." );
// Test for Bug #5509
var success = true;
try {
jQuery('#foo').css("backgroundColor", "rgba(0, 0, 0, 0.1)");
}
catch (e) {
success = false;
}
ok( success, "Setting RGBA values does not throw Error" );
}); });
if(jQuery.browser.msie) { if(jQuery.browser.msie) {