flex单击和双击响应事件区分处理

问题: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"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值