<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
В дополнение к вопросу здесь , я не могу заставить работать решение, потому что кажется, что jQuery не устанавливает атрибут readonly правильно (или по крайней мере последовательно).
Обратите внимание, я получаю те же результаты с $('#test').attr('readonly', true);
Я использую Chrome, а атрибут readonly отображается как readonly=""
. Здесь есть еще один пост, в котором говорится, что FireFox делает то же самое.
Меня это не сильно беспокоит, поскольку текстовое поле все еще мешает редактированию, но я не могу найти способ обнаружить атрибут readonly.
Обычно я люблю jQuery, но все это немного WTF.
Есть идеи?