AS3 - 无法通过嵌套在Movieclips中的文本字段进行制表

时间:2014-07-17 10:27:55

标签: actionscript-3 nested textfield movieclip tabindex

我现在有一个问题,试图通过动画片段中的文本字段进行制表(通过for循环调用)。无论选择哪一个,点击选项卡将始终选择创建的第一个文本字段,并且不会从那里移动。甚至没有使用Tab键索引工作

这里是movieclip中的代码(文本字段是物理对象)

import flash.text.TextField;
import flash.events.FocusEvent;
import fl.managers.FocusManager;
import flash.events.Event;

var str:String = "Default";

textf.text = str;
textf.textColor = 0x848484;
hlborder.visible = false;

var focusManager:FocusManager = new FocusManager(this);

textf.addEventListener(FocusEvent.FOCUS_IN, tffin);
textf.addEventListener(FocusEvent.FOCUS_OUT, tffout);

function tffin(e:Event):void{
    textf.borderColor = 0x0066FF;
    hlborder.visible = true;
    if(textf.text == str){
        textf.text = "";
    }
}

function tffout(e:Event):void{
    textf.borderColor = 0x000000;
    hlborder.visible = false;
    if(textf.text == ""){
        textf.text = str;
    }
}

这里将它们添加到主时间轴

var carr:Array = new Array();
for(var i = 0; i<10; i++){
    carr.push(new custField());
    carr[i].y = i*30;
    carr[i].x = 30;
    addChild(carr[i]);
    carr[i].textf.tabIndex = i;
}

2 个答案:

答案 0 :(得分:0)

您是否尝试将每个TextField放在单独的动画片段中?我认为最有可能解决这个问题。

答案 1 :(得分:0)

同样的问题。我有3个TextFields和单个TextFields的MovieClips。帮助了这个:

  1. 删除所有tabIndex
  2. 设置MovieClips tabChildren = true
  3. 现在标签从左到右,从上到下甚至抛出子TextFields。