HTML5 автофокусировка = автоматический выбор?

Я использую некоторые функции формы HTML5, чтобы постепенно улучшать пользовательский интерфейс моего веб-проекта. В частности, это автофокус, я хочу использовать это в модальном (лайтбоксе) диалоге, который позволяет пользователям вводить теги. Существующие теги могут быть там.

Единственным браузером, который я установил, поддерживающим автофокусом, является Chrome 9, однако, когда я его тестирую, он помещает фокус в поле, но также автоматически выбирает весь существующий текст в поле. Я не ожидал или не хотел автоответа, я хочу автофокусировку.

Является ли мое ожидание неправильным или неверно?

Ответы

Ответ 1

Подробнее о autofocus и html5 здесь: http://php.quicoto.com/autofocus-in-html5/

Если у вас есть фрагмент кода, на который мы могли бы обратить внимание, мы могли бы быть в состоянии помочь. Он выглядит довольно простым и безболезненным для реализации и говорит, что функция поддерживается во всем, кроме Fx и IE.

Ответ 2

Chrome решил, что они ошибались и изменили это поведение в Chrome 36.

Я знаю это, потому что ошибочно полагался на javascript.focus() и html автофокус для выбора текста. Теперь для выбора и фокусировки в текстовом поле требуется .select(). Хорошо, что теперь мы можем быть конкретными из того, что хотим: -)

Итак, теперь Chrome ведет себя как, например. Fire Fox.

Ответ 3

Из спецификации HTML5, этапы фокусировки не определяют, следует ли выбирать текст. Пользовательские агенты не требуются и не запрещаются для выбора текста. В частности, здесь представлен шаг фокусировки:

Пользовательский агент может применять соответствующие соглашения для конкретной платформы для фокусировки виджетов.

Примечание. Например, некоторые платформы выбирают содержимое текстового поля, когда это поле сфокусировано.

Ответ 4

Предполагается выбрать текст, поскольку input.focus() делает это тоже.