Руководство по actionscript. часть 4, стр. 068
Листинг 22.8. Обработка событий фокуса для конкретного объекта
package { import flash. display.*; import flash. events.*; import flash. text.*;
// Демонстрирует, как обрабатывать события FocusEvent. F0CUS_IN для
// отдельного объекта. Создает объект TextField, который после получения
// фокуса не позволяет его сменить до тех пор. пока не будет введено
// по крайней мере три символа.
public class ObjectFocusSensor extends Sprite {
private var namefield:TextField;
private var passfield:TextField;
public function ObjectFocusSensor ( ) { // Создаем текстовые поля namefield = new TextField( );
namefield. width = 100; namefield. height = 30; namefield. border = true; namefield. background = true; namefield. type = TextFieldType. INPUT;
passfield = new TextField( ); passfield. width = 100; passfield. height = 30; passfield. у = 50;
passfield. border = true;
passfield. background = true; passfield. type = TextFieldType. INPUT;
// Добавляем текстовые поля в список отображения addChi1dCnamefield); addChi1dCpassfield);
// Регистрируем приемник для событий изменения фокуса namefi eld. addEventLi stener(FocusEvent. MOUSE_FOCUS_CHANGE,
focusChangeListener); namefi el d. addEventLi stener(FocusEvent. KEY_FOCUS_CHANGE,
focusChangeListener);
}
// Обрабатывает все события изменения фокуса, получателем которых // является объе’кт namefield
private function focusChangeListener (e:FocusEvent):void { if (e. target == namefield && namefield. text. length < 3) { tracec'name entered is less than three characters long"); e.preventdefault( );
}
}
}
События ввода с клавиатуры
Приложение Flash Player выполняет диспетчеризацию событий ввода с клавиатуры, когда пользователь нажимает или отпускает клавишу. Вообще говоря, события ввода с клавиатуры обычно используются для инициирования ответного действия либо от всего приложения, либо от определенного элемента интерфейса. Например, нажатие клавиши S может вызывать глобальную команду сохранения пользовательских данных, а нажатие стрелки i может выбирать элемент в конкретном компоненте меню.