Событие изменения фокуса (onSetFocus)

С событиями onSetFocus и onKillFocus, происходящими при получении объектом фокуса ввода и потере им его, мы уже встречались, когда изучали кнопки и Таb-обход текстовых полей. Данные события могут быть полезны, если нас интересует выделение какого-то конкретного поля. Если же важно знать о наведении фокуса на любой объект фильма, то они малоэффективны. В этом случае лучше использовать событие onSetFocus объекта Selection.

Событие onSetFocus объекта Selection происходит, если фокус ввода меняет целевой объект. Его обработчику передаются 2 параметра. Первый хранит ссылку на объект, потерявший фокус. Второй указывает на объект, фокус получивший. Если фокус наводится впервые или же объект теряет его без передачи другому объекту, то один из параметров обработчика onSetFocus будет равен null.

По умолчанию событие onSetFocus не имеет листенеров. Чтобы заставить объект "слушать» данное событие, ссылка на него должна быть добавлена в массив _listeners объекта Selection. Сделать это позволяет метод addListener():

var obj:Object =();
Selection.addListener(obj);
obj.onSetFocus = function(f1:TextField, f2:TextField):Void {
trace("Потерял фокус "+f1+", Получил фокус "+f2);
};

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Action Script на эту тему:
Автоматическое удаление пробелов. Свойство condenseWhite
Встраивание в фильм целого шрифта
Динамическая замена выделенного текста. Метод replaceSel()
Динамическое задание выделения. Метод setSelection()
Задание и извлечение текста поля

Вернуться в раздел: Action Script / 13. Работа с текстом