例如我有一个Textinput有id =“
的对象id_txtBox
“,以及一个有很多孩子的面板(TextInputs,Trees,Buttons等).. 如果用户在某个面板的子项中编辑文本,然后clik on“id_txtBox”。我们可以了解
id / object用户之前正在编辑 点击“id_txtBox
“。我的意思是”id_txtBox“从哪个对象中偷了焦点。?
答案 0 :(得分:1)
为每个子节点添加一个事件侦听器,它将通过获取所单击元素的名称来更新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 ); }
答案 1 :(得分:0)
您可以在内部维护焦点对象的历史记录。因此,每当对象获得焦点时,将其添加到历史记录中。因此,如果要查询哪个对象,当前焦点对象有被盗焦点,则需要检查历史记录中的上一个对象。您可以根据需要设置历史记录以根据需要存储任意数量的对象,并保持删除最旧的对象历史记录超出其大小。