мы можем получить объект, с которого фокус был украден при нажатии на другой объект?ActionScript - PullRequest
0 голосов
/ 23 августа 2010

Например, у меня есть объект один, Textinput с идентификатором id = "

id_txtBox

" и панель с множеством дочерних элементов (TextInputs, Trees, Buttons)и т. д.) .. если пользователь редактирует текст в дочернем элементе панели и затем нажимает "id_txtBox".можем ли мы узнать,

идентификатор / объект, который пользователь редактировал до нажатия на "id_txtBox

".я имею в виду, из какого объекта "id_txtBox" украл фокус ..?

Ответы [ 2 ]

1 голос
/ 23 августа 2010

Добавьте прослушиватель событий для каждого дочернего элемента, который будет обновлять свойство currentChild, получая имя элемента, по которому щелкнули.


 var previousChild:DisplayObject;
 var currentChild:DisplayObject;

 panelChild.addEventListener(MouseEvent.CLICK , clickHandler );

private function clickHandler(event:MouseEvent):void
{ 
  //to avoid an error on the first click
  if(currentChild != null )
     previousChild = currentChild;

  // do whatever you need to do here, after it's complete, update the currentChild value;
  // this way the previousChild value indicates the object that was clicked before

  currentChild = this.getChildByName(event.currentTarget.name );
}
0 голосов
/ 23 августа 2010

Вы можете поддерживать историю объектов внутри фокуса. Поэтому, когда объект приобретает фокус, добавляйте его в историю. Поэтому, если вы хотите запросить, у какого объекта текущий фокусированный объект украден, вам нужно проверить предыдущий объект в истории. Вы можете настроить свою историю так, чтобы она сохраняла столько объектов, сколько вы хотите, в соответствии с вашими потребностями и продолжала удалять историю самого старого объекта, превышающую его размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...