| 包 | mx.managers |
| 接口 | public interface IFocusManagerComponent |
| 实现器 | AccessibleText, Accordion, AdvancedListBase, Button, ButtonBar, ButtonBar, ButtonBase, ChartBase, ComboBase, DataGrid, DateChooser, DateField, HTML, List, ListBase, MenuBar, NumericStepper, NumericStepper, OneLevelPanelNavigator, PanelItem, PromoImage, PromoSWFLoader, RadioButtonList, RichEditableText, Scroller, SkinnableTextBase, SliderBase, Spinner, TabBar, TabNavigator, TextArea, UIMovieClip, ViewMenu |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| focusEnabled : Boolean
一个标志,用于指示组件处于选中状态时是否可以获得焦点。 | IFocusManagerComponent | ||
| hasFocusableChildren : Boolean
一个标志,指示子对象是否能够获得焦点。 | IFocusManagerComponent | ||
| mouseFocusEnabled : Boolean [只读]
一个标志,用于当使用鼠标选中组件时组件是否可以获得焦点。 | IFocusManagerComponent | ||
| tabFocusEnabled : Boolean [只读]
一个标志,指示通过按 Tab 键最终是否能够将焦点移动到此组件。 | IFocusManagerComponent | ||
| tabIndex : int
如果 tabFocusEnabled 为 true,则为组件获得焦点的顺序。 | IFocusManagerComponent | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
当组件获得焦点时,由 FocusManager 调用。 | IFocusManagerComponent | ||
当组件获得焦点时,由 FocusManager 调用。 | IFocusManagerComponent | ||
focusEnabled | 属性 |
focusEnabled:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
一个标志,用于指示组件处于选中状态时是否可以获得焦点。
如果组件中的子组件实现了 IFocusManagerComponent 接口,但是您从不希望它获得焦点,作为一种优化,您可以先将 focusEnabled 设置为 false,然后再在子组件上调用 addChild()。
这将使 FocusManager 忽略此组件,并且使它不会对组件进行监视以查看 tabFocusEnabled、hasFocusableChildren 和 mouseFocusEnabled 属性是否发生更改。这也意味着 addChild() 之后,您无法更改此值,也不能指望 FocusManager 进行监视。
注意:这并不意味着您无法在 setFocus() 方法中以编程方式使此对象获得焦点;它仅通知 FocusManager 在 Tab 和鼠标搜索中忽略此 IFocusManagerComponent 组件。
实现
public function get focusEnabled():Boolean public function set focusEnabled(value:Boolean):voidhasFocusableChildren | 属性 |
hasFocusableChildren:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
一个标志,指示子对象是否能够获得焦点。
注意:此属性与 Flash Player 使用的 tabChildren 属性类似。应该将 hasFocusableChildren 属性用于 Flex 应用程序。请勿使用 tabChildren 属性。
此属性通常为 false,因为大多数组件既可以自己获得焦点,也可以委托单个内部子组件获得焦点(但显示为该组件获得了焦点)。例如,TextInput 控件包含一个可成为焦点的 RichEditableText 子控件,但实际上当 RichEditableText 子组件获得焦点时,却显示为 TextInput 获得了焦点。TextInput 将 hasFocusableChildren 设置为 false,因为获得焦点的组件为 TextInput。其内部结构是一个抽象概念。
通常只有像 TabNavigator 和 Accordion 这样的导航器组件将此标志设置为 true,因为它们在按 Tab 键时获得了焦点,但焦点会在进一步按 Tab 键时转移到子容器的组件中。
默认值为 false,spark.components.Scroller 组件除外。对于该组件,默认值为 true。
实现
public function get hasFocusableChildren():Boolean public function set hasFocusableChildren(value:Boolean):voidmouseFocusEnabled | 属性 |
tabFocusEnabled | 属性 |
tabIndex | 属性 |
drawFocus | () | 方法 |
setFocus | () | 方法 |
public function setFocus():void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
当组件获得焦点时,由 FocusManager 调用。同样,该组件可以将焦点设置给某个内部组件。
Tue Jun 12 2018, 11:04 AM Z