欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

flex单击和双击响应事件区分处理 博客分类: flex flex 

程序员文章站 2024-02-16 19:29:10
...
问题:flex在相应双击事件的时候,如果此组件已经添加了单击事件,则会先相应单击事件,而后在相应双击事件。
解决办法:使用定时器,当相应单击时间的时候,先等待,如果在等待时间内没有第二次触发,则认为是单击,否则为双击。
代码:
			//判断单击双击事件,如果在200毫秒内点击2次则相应双击事件,否则相应单击事件。
 			private var interval : Number = 0;
			protected function tunnelLane_clickHandler(event:MouseEvent):void
			{
				clearInterval(interval);//清除周期时间
				interval = setInterval(deferredClickHandler, 200); 
			}
			
			protected function tunnelLane_doubleClickHandler(event:MouseEvent):void
			{
				clearInterval(interval);
				Alert.show("双击");
			}
			
			private function deferredClickHandler() : void
			{
				Alert.show("单击");
				clearInterval(interval);
			}

<s:Group width="100%" height="100%" maskType="alpha" doubleClickEnabled="true" click="tunnelLane_clickHandler(event)" doubleClick="tunnelLane_doubleClickHandler(event)">
</s:Group>
//注意:默认双击事件是不响应的,需要doubleClickEnabled="true" 
相关标签: flex