Если вы просто пытаетесь получить замещающий текст, который заменяется, когда пользователь выбирает элемент, то, очевидно, в настоящее время рекомендуется использовать атрибут placeholder
. Однако, если вы хотите выбрать все текущее значение, когда поле получает фокус, комбинация ответов @Cory House и @Toastrackenigma представляется наиболее канонической. Используйте события focus
и focusout
с обработчиками, которые устанавливают / освобождают текущий элемент фокуса, и выбирают все, когда фокус. Пример angular2 / typcript выглядит следующим образом (но было бы тривиально преобразовать его в vanilla js):
Шаблон:
<input type="text" (focus)="focus()" (focusout)="focusout()" ... >
Компонент:
private focused = false;
public focusout = (): void => {
this.focused = false;
};
public focus = (): void => {
if(this.focused) return;
this.focused = true;
// Timeout for cross browser compatibility (Chrome)
setTimeout(() => { document.execCommand('selectall', null, false); });
};