HTML5 autofocus = autoselect? - PullRequest
       2

HTML5 autofocus = autoselect?

14 голосов
/ 19 января 2011

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

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

Мои ожидания неверны или Chrome неверен?

Ответы [ 4 ]

6 голосов
/ 22 июля 2014

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

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

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

6 голосов
/ 19 января 2011

Узнайте больше об автофокусе и html5 здесь: http://php.quicoto.com/autofocus-in-html5/

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

2 голосов
/ 21 декабря 2012

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

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

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

0 голосов
/ 19 января 2011

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

...