2013-12-15 2 views
1

Я экспериментирую с атрибутом placeholder, но я заметил, что если я сосредоточу свое внимание на Chrome, то местозаполнитель исчезнет, ​​в Firefox он исчезнет только после первого нажатия клавиши.Различные поведения placeholder attr

Мне нравится поведение Firefox: как я могу заставить Chrome действовать одинаково?

Большое спасибо

+1

Почему? Пользователи разных браузеров используются для того, чтобы те, кто ведет себя таким образом для своего браузера. Что не так с последовательностью? – Quentin

+0

@Quentin Я хочу автофокусировать поле имени пользователя при загрузке, чтобы сделать процесс регистрации более быстрым, но если я попробую его в Chrome, пользователь никогда не увидит подсказку с заполнителем, потому что как только поле будет сфокусировано (при загрузке), заголовок исчезнет , Какие-либо предложения? –

+1

Не волнуйтесь об этом. Это подсказка, если информация была жизненно важна, она была бы на этикетке. – Quentin

ответ

3

specification государства (курсив мой) -

Агенты пользователей должны представить эту подсказку пользователю, после того, как зачищенные разрывы строк из него, когда значение элемента является пустая строка или управление не сфокусировано (или как), например отображая его внутри пустого несфокусированного элемента управления и скрывая его в противном случае.

Это означает, что браузеры могут реализовать любой подход, описанный выше. Чтобы отклоняться от поведения браузера по умолчанию, вам, вероятно, придется написать собственное решение для JavaScript, которое будет иметь обработчик события keyup и сравнить входное значение с пустой строкой.

Я бы лично реализовал это с использованием атрибута-заполнителя данных на входе, чтобы удерживать значение.

Как бы то ни было, похоже, что Chrome изменил свое поведение по умолчанию, как в Chrome Canary и Chrome 31 (который является текущим), значение placeholder остается видимым до тех пор, пока пользователь не начнет вводить связанный JS Fiddle I.

Это поведение было протестировано только на «настольной» версии браузера и только в операционной системе Windows. Возможно, на других платформах могут быть некоторые изменения, даже с тем же браузером.

Chrome auto-updates, на самом деле относительно сложно предотвратить это, поэтому маловероятно, что многие из ваших пользователей будут использовать версию, старую как Chrome 14 (выпущенную в сентябре 2011 г.). Как правило, мой опыт показывает, что статистика показывает, что используемые версии Chrome разделены между тремя последними версиями, обычно в основном текущей и предыдущей версиями (с коэффициентом, зависящим от времени с момента последней версии).

В результате, похоже, ваша проблема вряд ли затронет многих (если есть) пользователей.

Пожалуйста, обратите внимание на следующее из specification хотя-

Примечания: Использования атрибута заполнителя в качестве замены для этикетки может снизить доступность и удобство управления для диапазона пользователей включая старших пользователей и пользователей с когнитивной, мобильностью, штраф моторных навыков или нарушений зрения. Хотя подсказка, заданная меткой управления , отображается всегда, короткий подсказку, указанную в атрибуте-заполнителе , отображается только до того, как пользователь вводит значение. Кроме того, текст заполнителя может быть ошибочно принят за предварительно заполненную величину , и как обычно используется цвет по умолчанию текста заполнителя обеспечивает недостаточный контраст, а отсутствие отдельного видимого знака уменьшает размер области попадания, доступной для настройки фокус на управление.

Пожалуйста, не используйте заполнитель в качестве замены для этикеток или, по крайней мере, для скрытой маркировки (как в приведенном примере Google).

Смежные вопросы