IE: недокументированный атрибут "cache" определен для элементов ввода?
Я наткнулся на странное поведение в IE(6/7/8), которое сводит меня с ума. Учитывая следующую разметку:
<input type="text" value="foo" class="bar" cache="yes" send="no" />
Обратите внимание, что cache
атрибут установлен в yes
, Однако IE каким-то образом удается изменить значение атрибутов на cache="cache"
при рендеринге DOM.
Итак, мне интересно, есть ли недокументированная функция, о которой я не знаю? Я погуглил около часа, но не смог найти никакой информации по этому вопросу (даже в MSDN).
НОТА
Я знаю, что добавление пользовательских атрибутов не соответствует стандарту и что логические атрибуты должны быть отмечены как attribute="attribute"
, Тем не менее я должен справиться с этим, поскольку они были представлены задолго до того, как я присоединился к команде. Эти пользовательские атрибуты используются в сочетании с javascript, чтобы обеспечить более удобный для пользователя подход к обработке форм (и он хорошо работает с Firefox/Safari/Opera/Chrome).
Я знаю, что мог бы просто преобразовать эти пользовательские атрибуты в атрибуты x-data, которые будут представлены в HTML5, но это заняло бы у меня несколько часов дополнительной работы - вздох.
Надеюсь, я ясно дал понять. Заранее спасибо.
1 ответ
Веками логические атрибуты предпочтительно записывались как <input type="checkbox" checked="checked"/>
и т. д. Это потому, что в эпоху динозавров вы должны были писать только <input type="checkbox" checked/>
и присвоение того же значения, что и имя свойства, сломало наименьшее количество устаревших браузеров, в то же время делая разметку XML-совместимой.