我有一个弹出弹出的表单,它是一个包含在UIComponent中的movieclip。在这个movieclip中是表单字段。
出于某种原因,我无法使标签按钮工作,以便能够在字段之间切换。我使用tabindex设置每个字段,但这不起作用。
除此之外还有什么我需要做的吗?这基本上就是我正在使用的所有代码:
email.tabIndex = 1; city.tabIndex = 2; firstName.tabIndex = 3;
等
这是不是因为弹性工作?如果是这样,什么是解决方法?
答案 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>
对不起,这就是我现在能做的一切。如果你得到答案,请告诉我,我很热心。
干杯, 罗布