Мне нужно было то же самое, чтобы выбрать содержимое текстового поля, когда оно получает фокус.
Я пытался:
A) Просто выберите после FocusEvent. Кажется, это не работает (я предполагаю, что FocusEvents срабатывают до обработки щелчка мыши, что, в свою очередь, отменяет выбор).
B) Выбор на каждый клик мыши. Это работает, но это очень раздражает пользователя, который хочет выделить только часть текста позже, так как эта попытка всегда приводит к -all- выбранному контенту.
Кажется, что работает следующий обходной путь:
myTextField.addEventListener(MouseEvent.CLICK, selectAllOnce);
function selectAllOnce(e:MouseEvent) {
e.target.removeEventListener(MouseEvent.CLICK, selectAllOnce);
e.target.addEventListener(FocusEvent.FOCUS_OUT, addSelectListener);
selectAll(e);
}
function addSelectListener(e:FocusEvent) {
e.target.addEventListener(MouseEvent.CLICK, selectAllOnce);
e.target.removeEventListener(FocusEvent.FOCUS_OUT, addSelectListener);
}
function selectAll(e:Event) {
e.target.setSelection(0, e.target.getLineLength(0));
}
Надеюсь, это поможет. Лично я думаю, что было бы наиболее логичным, если бы Adobe просто добавила опцию для этого для объекта TextField.