Flex 4:tabIndex在表单内部不起作用

时间:2014-10-21 12:19:00

标签: flex

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项更改后问题得以解决:

  1. 将Login.mxml中的代码移动到index.mxml并删除AddChild方法。

  2. year在xmlns:mx和xmlns:fx名称空间中设置为2006。 (不确定这是否是问题)

  3. 如何在不删除AddChild方法的情况下解决Tab键问题。

0 个答案:

没有答案