Мне нужно было то же самое, чтобы выбрать содержимое текстового поля, когда оно получает фокус.
Я старался:
A) Простой выбор после FocusEvent. Похоже, это не работает (я предполагаю, что FocusEvents запускаются до обработки щелчка мыши, что, в свою очередь, отменяет выбор).
Б) Выбор при каждом щелчке мыши. Это работает, но это очень раздражает пользователя, который хочет позже выбрать только часть текста, поскольку эта попытка всегда будет приводить к выделению всего содержимого.
Однако следующий обходной путь, похоже, работает:
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.
person
Mattijs
schedule
09.02.2010