AS3 — невозможно перейти через текстовые поля, вложенные в мувиклипы, с помощью табуляции.

В данный момент у меня возникла проблема с попыткой перемещаться по текстовым полям внутри мувиклипов (вызывается через цикл for). Независимо от того, какой из них выбран, нажатие на вкладку всегда будет выбирать первое созданное текстовое поле и не будет перемещаться оттуда. Не даже использование индекса табуляции работает

Вот код внутри мувиклипа (текстовые поля являются физическими объектами)

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;
}

person James McGrath    schedule 17.07.2014    source источник


Ответы (2)


Вы пытались поместить каждое TextField в отдельный мувиклип? Я думаю, что это, скорее всего, должно решить проблему.

person MNOPYZ    schedule 17.07.2014
comment
Я пытаюсь работать над модульным подходом с этим приложением. Так что технически это отдельные фрагменты ролика, поскольку каждый из них имеет отдельный экземпляр, но все они являются экземплярами одного и того же объекта в библиотеке, на который ссылается массив. - person James McGrath; 17.07.2014

Та же проблема. У меня есть MovieClips с 3 текстовыми полями и одним текстовым полем. Помогло это:

  1. Удалить все tabIndex
  2. Установить на мувиклипы tabChildren = true

Теперь вкладка идет слева направо и сверху вниз даже бросает дочерние TextFields.

person Sergey Senkov    schedule 09.09.2014