包 | 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):void
hasFocusableChildren | 属性 |
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):void
mouseFocusEnabled | 属性 |
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