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"