Как получить предыдущий фокус и сравнить строки

#flash #actionscript-3 #actionscript #flash-cs4

#flash #actionscript-3 #actionscript #flash-cs4

Вопрос:

Как я могу получить предыдущий фокус / иметь возможность сравнивать строки?

Ответ №1:

Событие фокусировки.Событие FOCUS_IN содержит также ссылку на интерактивный объект, теряющий фокус (свойство relatedObject).

В вашем коде вы могли бы изменить:

 textbox[i].addEventListener(KeyboardEvent.KEY_UP, k);
textbox[i].tabIndex= i; 
  

Для:

 textbox[i].addEventListener(KeyboardEvent.KEY_UP, k);
textbox[i].addEventListener(FocusEvent.FOCUS_IN, handleFocusIn);
textbox[i].tabIndex= i; 

function handleFocusIn(anEvent: FocusEvent): void
{
  if (anEvent.relatedObject is TextField)
  {
     var previousBox: TextField = anEvent.relatedObject as TextField;
     var currentBox: TextField = anEvent.target as TextField;
     // etc.
  }
}
  

Как и в предыдущем ответе, попробуйте выяснить, как работает цикл. Также вы можете ссылаться на текстовое поле с помощью []:

 // to reference names_mc.box19_txt using an index
var index: int = 19;
var textbox: TextField = names_mc['box'   index   '_txt'];
  

Ответ №2:

Вам нужно прослушать FocusEvent.FOCUS_OUT событие; вы можете узнать больше в документации.

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

Комментарии:

1. Сейчас я работаю над циклами. Спасибо! вы случайно не знаете, как я мог бы проверить предыдущий фокус?