Почему атрибут readonly не реализован для select?
Название говорит само за себя...
Я не ищу ответы на обходной путь (например, отключить выбор / скрытый ввод); Я просто спрашиваю: почему это так?
2 ответа
Я не уверен, что есть реальный ответ на этот вопрос, кроме того, что разработчики решили, что API должен быть таким.
Я полагаю, что "только для чтения" подразумевает, что вы собираетесь печатать. Возможно, разработчики не думали, что элемент select действительно принимает ввод с клавиатуры. И поэтому решил использовать вместо этого атрибут "disabled".
Это может быть полезно в формах... например, вы хотите, чтобы пользователь поставил галочку или ответил на вопрос, прежде чем они действительно смогут вводить данные в поле ввода. Это помогает пользователю "идти в правильном направлении", чтобы данные могли быть надлежащим образом записаны на основе определенных предпочтений.
Тем не менее, согласно http://www.w3schools.com/tags/att_input_readonly.asp
The readonly attribute can be set to keep a user from changing the value until some other conditions have been met (like selecting a checkbox, etc.). Then, a JavaScript can remove the readonly value, and make the input field editable.
Также по этой ссылке есть практический пример
http://www.geekgumbo.com/2011/02/12/html-disabled-or-readonly/