jQuery ensemble, puis de lire l'attribut readonly sur la zone de texte

​<input id="test" type="text" value="text" />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

alert(​$(':input:not([readonly])').length);​​​​​​​​​​​​​​​​​ //1

$('#test').attr('readonly', 'readonly');

alert($(':input:not([readonly])').length); //1

$('#test').removeAttr('readonly');​​​​​​​​​​

alert($(':input:not([readonly])').length); //1

Plus de la question ici, je ne peux pas obtenir la solution de travail, car il semble que jQuery n'est pas de définir l'attribut lecture seule correctement (ou au moins régulièrement).

Remarque j'obtiens les mêmes résultats avec $('#test').attr('readonly', true);

Je suis en utilisant google Chrome, et l'attribut lecture seule rend readonly="". Il y a un autre post ici qui suggère FireFox fait la même chose.

Je ne suis pas beaucoup occupé de ce, pour autant qu'il s'arrête toujours la zone de texte d'être modifiable, mais je ne peux pas trouver un moyen pour détecter l'attribut lecture seule.

J'ai l'habitude de l'amour jQuery, mais c'est un peu WTF.

Des idées?

La raison pour laquelle vous voyez ce problème, car la [readonly] sélecteur vérifie juste pour le présence de l'attribut, et true ou false, il est présent.

OriginalL'auteur fearofawhackplanet | 2010-09-14