IE: недокументированный атрибут «cache» определен для элементов ввода? - PullRequest
3 голосов
/ 17 февраля 2010

Я наткнулся на странное поведение в 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 Ответ

1 голос
/ 17 февраля 2010

Веками булевы атрибуты предпочтительно записывались как <input type="checkbox" checked="checked"/> и т. Д. Это потому, что в эпоху динозавров вы должны были писать только <input type="checkbox" checked/>, и присвоение того же значения, что и имя свойства, нарушало наименьшее устаревшие браузеры, в то же время делая разметку XML-совместимой.

...