flex中的flash movieclip上的tab索引

时间:2010-12-30 19:37:00

标签: flex flash actionscript-3

我有一个弹出弹出的表单,它是一个包含在UIComponent中的movieclip。在这个movieclip中是表单字段。

出于某种原因,我无法使标签按钮工作,以便能够在字段之间切换。我使用tabindex设置每个字段,但这不起作用。

除此之外还有什么我需要做的吗?这基本上就是我正在使用的所有代码:

email.tabIndex = 1; city.tabIndex = 2; firstName.tabIndex = 3;

这是不是因为弹性工作?如果是这样,什么是解决方法?

1 个答案:

答案 0 :(得分:0)

您是否尝试将新的FocusManager实例添加到包含movieclip的UIComponent?我不确定但也许。

我能想到的另一件事可能是表单元素的tabEnabled属性和包含的对象。

希望它能让你更接近。

祝你好运, 罗布

////////// UPDATE /////////////// 不幸的是我无法使它工作,但我发给你我的代码,也许你可以用它做点什么。

我尝试将一个movieclip和textfields添加到其中,但它是相同的,根本没有TAB。所以我只是将文本字段添加到UIComponent并将所有可能的选项卡和焦点相关属性设置为true - 没有运气:(。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
        import mx.core.UIComponent;
            import flash.display.MovieClip;
            import flash.text.TextField;

            protected function init(event:Event):void
            {                                                               
                var i:uint = 0;
                var l:uint = 4;
                while (i < l)
                {
                    var tf:TextField = new TextField();
                    tf.name = "tf_" + i;
                    tf.width = 200;
                    tf.height = 21;
                    tf.border = true;
                    tf.type = "input";
                    tf.tabIndex = i;
                    tf.tabEnabled = true;
                    tf.text = "tabIndex = " + String(tf.tabIndex);
                    tf.x = 50;
                    tf.y = tf.height * i + 10 * i + 100;
                    uicomp.addChild(tf);
                    ++i;
                }
            };
        ]]>
    </fx:Script>

    <mx:UIComponent hasFocusableChildren="true" tabChildren="true" tabEnabled="true" tabFocusEnabled="true" id="uicomp" width="100%" height="100%" addedToStage="init(event);" />

</s:Application>

对不起,这就是我现在能做的一切。如果你得到答案,请告诉我,我很热心。

干杯, 罗布