Flex 同时监听单击和双击事件

有时我们在一些应用实例中可能会遇到这么一种需求:同一个组件,比如一个 button,需要同时监听单击 click 和 双击 double click 事件。通常在列表中,这种需要更为常见一些。例如有左右两个分栏列表,点击选中,可以作一些操作;双击列表项则可以将一侧列表项移动到另一侧。

我们知道,在 Flex 里面,有 click 事件和 doubleClick 事件。click 用于处理单击,doubleClick 用于处理双击。但是双击事件必然触发单击事件,为了避免双击时触发单击事件,需要使用setInterval或settimeout。代码如下

protected function g_clickHandler(event:MouseEvent):void
			{
				clearInterval(interval);
				interval=setInterval(deferredClickHandler, 200);			
				//和setTimeout()一样
			}
			
			private function deferredClickHandler() : void
			{
				this.parentApplication.curAlbumName=albumName;
				this.parentApplication.curAlbumUrl="./img/"+this.parentApplication.userAccount+"/"+albumName+"/";
				clearInterval(interval);
			}
			
			protected function g_doubleClickHandler(event:MouseEvent):void
			{
				Alert.show("进入相册");
			}

你可能感兴趣的:(Flex,settimeout,同时,单击,双击)