С выпуском jQuery 1.6 рекомендация по SO должна была начаться с использования prop(), где вы использовали attr().
Что происходит, когда я хочу сделать элемент readonly?
$('.control').prop('readonly', 'readonly');
$('.control').prop('readonly', true);
Ни один из них, похоже, не делает контроль только для чтения. Является ли элемент только для чтения исключением из правила?