因为Flex AS3双击前会先调一遍单机,所以需要特殊处理。
使用Timer延迟判断是单击双击。
使用Timer时,接收到的对象已经由MouseEvent对象变为TimerEvent对象了,所以需要在外部定义一个数据对象,保存MouseEvent对象中传递的数据。
line.addEventListener(MouseEvent.CLICK, clickLineHandle); line.doubleClickEnabled = true; line.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickLineHandle); line.toolTip="单击展示服务调用详情\n双击展示服务明细";
var isDoubleClick:Boolean = false ;//判断是否是双击的标志 var _line:SequenceLine = null; public function clickLineHandle(event:MouseEvent):void { isDoubleClick = false ; _line = event.currentTarget as SequenceLine; var timer:Timer = new Timer(260, 1); timer.start();//也就是说两次单击间隔在260毫秒之内的就被认为是双击 timer.addEventListener(TimerEvent.TIMER, clickOrDouble); } public function doubleClickLineHandle(event:MouseEvent):void { isDoubleClick = true ; _line = event.currentTarget as SequenceLine; } private function clickOrDouble(event:TimerEvent):void { var data:EsbServiceProCusV = _line.data as EsbServiceProCusV; _line = null; if(isDoubleClick){ var evt:FlashDynamicEvent=new FlashDynamicEvent(FlashDynamicEvent.EVENT_LINE_DOUBLECLICK, true); evt.data= data.id; this.dispatchEvent(evt); }else{ var evt:FlashDynamicEvent=new FlashDynamicEvent(FlashDynamicEvent.EVENT_LINECLICK, true); evt.data= data.serviceNameEn; this.dispatchEvent(evt); } }
//////////////////////////////////////////////////////////////////////
以下为自定义事件及后续处理:
package com.event { import flash.events.Event; dynamic public class FlashDynamicEvent extends Event { public static const EVENT_LINECLICK:String="lineClick"; public static const EVENT_LINE_DOUBLECLICK:String="lineDoubleClick"; public var data:Object=new Object(); public var event:Event; public function FlashDynamicEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) { super(type, bubbles, cancelable); } } }
//mxml页面接收: _sequenceView.addEventListener(FlashDynamicEvent.EVENT_LINECLICK, lineClickHandle); _sequenceView.addEventListener(FlashDynamicEvent.EVENT_LINE_DOUBLECLICK, lineDoubleClickHandle); public function lineClickHandle(event:FlashDynamicEvent):void { var serviceNameEn:String = event.data as String; _applicationView.GetURLRequest.addEventListener(ResultEvent.RESULT, urlRequestResultHandle); _applicationView.GetURLRequest.addEventListener(FaultEvent.FAULT, errorHandle); //获取urlRequest地址 _applicationView.GetURLRequest(serviceNameEn,0); } public function lineDoubleClickHandle(event:FlashDynamicEvent):void { var serviceId:Number = event.data as Number; _applicationView.GetURLRequest.addEventListener(ResultEvent.RESULT, urlRequestResultHandle); _applicationView.GetURLRequest.addEventListener(FaultEvent.FAULT, errorHandle); _applicationView.GetURLRequest(null,serviceId); }
[ActionScript 3] 关于屏蔽双击事件中的单击事件的讨论
相关推荐
flex单击图片拖动,双击图片旋转,双击单击同时用,虽然不难,但对初学者很有帮助的,找到一个很好的例子来学习flex会事半功倍
NULL 博文链接:https://libo-591.iteye.com/blog/1455678
Flex4.6 屏蔽鼠标双击事件,列表列锁定。
FLEX双击左右移动表格中的数据,此小程序希望对大家会有些帮助。
FLEX双击左右移动表格中的数据,此小程序希望对大家会有些帮助。
flex4出来一段时间了,去年看了一段时间flex3,后来由于暂时没有项目需求.所以flex遗忘了很多.这次使用flex4+myeclipse8.5录制了一个视频.以免时间长了遗忘. 软件环境:windows7+... 3 flex与webservice交互WebService
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
flex开发项目,application实现点击按钮界面全屏,或双击实现全屏,我搜集的方法集合。
介绍了Flex3与Flex4的功能区别,并介绍了Flex4的新增功能。
Flex与java通讯 Flex与java通讯
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
Flex4 DataGrid表格操作,表格回车事件默认是换行,这里修改为换单元格,单元格轮完换行。支持上下左右和回车键控制光标位置,还添加了"+","-"按钮,用于控制添加行和删除选中的行。
Flex简介Flex简介Flex简介Flex简介Flex简介
flex事件flex事件flex事件flex事件flex事件
flex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex学习的好资源啊
Flex与Java实现通信,Flex与Java实现通信,Flex与Java实现通信
flex_spring_blazeDS 项目是flex spring blazeDS 通过配置文件完成flex与java通信的可以正常运行的实例。该源码在flex4与MyEclipse环境下整合成功,实现了Flex、spring、blazeDS的整合。
Flex_3_与_Flex_4_之间的区别
flex与java通信