<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="initAppHandler()"> <fx:Script> <![CDATA[ import flash.utils.getTimer; import mx.events.FlexEvent; private var itemArray:Array = new Array; private var num:Number = 20; protected function initAppHandler():void { for(var i:int=0;i<num;i++){ var item:Item = new Item(); itemArray.push(item); addElement(itemArray[i]); itemArray[i].txt.text = i; itemArray[i].x = i*120; //trace(itemArray[i]); } addEventListener(MouseEvent.CLICK,onClick); addEventListener(MouseEvent.MIDDLE_CLICK,onMidClick); } protected function onClick(event:MouseEvent):void{ //trace(event.target +"\t"); //trace(event.currentTarget); var t:uint = getTimer(); var temp:String = String(event.target); var aa:Array = (temp.split(".B")); if(aa.length > 1){ var bb:Array = aa[1].split("."); var obj:Object = event.target; for(var i:int=0; i<bb.length;i++){ obj = obj.parent; } //trace(obj); } trace("aa:"); trace(getTimer()-t); } protected function onMidClick(event:MouseEvent):void{ var t:uint = getTimer(); var temp:String = String(event.target); var aa:Array = (temp.split(".B")); for(var i:int=0; i<num; i++){ if(itemArray[i] == aa[0]) { //trace(itemArray[i]); } } trace("bb:"); trace(getTimer()-t); } ]]> </fx:Script> </s:WindowedApplication>
第一个全部在0毫秒,第二个偶尔为1毫秒。