tabIndex在以下弹性代码中无法正常工作。
mx:AddChild标签用于在index.mxml中添加Login.mxml,如下所示:
index.mxml
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:login="com.states.login.*"
initialize="init()"
pageTitle="Demo" >
<mx:Script>
<![CDATA[
public function init():void {
Application.application.currentState = 'initState';
}
]]>
</mx:Script>
<mx:states>
<mx:State name="initState">
<mx:AddChild relativeTo="{MainCanvas}" position="lastChild">
<login:Login id="Login"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:VBox>
<mx:Canvas width="100%" height="100%" id="MainCanvas">
</mx:Canvas>
</mx:VBox>
</mx:Application>
Login.mxml
<mx:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx" >
...
<mx:Form>
<mx:FormItem label="Username:">
<mx:TextInput id="username" tabEnabled="true" tabIndex="1"/>
</mx:FormItem>
<mx:FormItem label="Password:">
<mx:TextInput id="password" displayAsPassword="true" tabEnabled="true" tabIndex="2"/>
</mx:FormItem>
</mx:Form>
...
当焦点位于浏览器中的表单之外时,Tabbing正在工作。但是当焦点位于TextInput控件内时不起作用。
在完成以下2项更改后问题得以解决:
将Login.mxml中的代码移动到index.mxml并删除AddChild方法。
year在xmlns:mx和xmlns:fx名称空间中设置为2006。 (不确定这是否是问题)
如何在不删除AddChild方法的情况下解决Tab键问题。