项目中碰到一个组件需要拖拽,又需要单击事件,本来想改成双击事件的,因为需求,所以必须得用单击事件。
具体解决办法如下:
因为click是 MOUSE_DOWN和MOUSE_UP的过程,而拖拽也得必须是MOUSE_DOWN再去操作,所以,我想了一个办法解决
按下和松开之间如果差200毫秒(这是我瞎定的)之内就执行点击事件;
具体解决办法如下:
因为click是 MOUSE_DOWN和MOUSE_UP的过程,而拖拽也得必须是MOUSE_DOWN再去操作,所以,我想了一个办法解决
private var DownTime:int = 0;
private var UpTime:int = 0;
private function onMouseDown(e:MouseEvent):void {
DownTime=new Date().time;//鼠标按下去的时间
_player.getStage().addEventListener(Event.ENTER_FRAME,frame);
xx=_player.getSkin().viewSwapComp.mouseX;
yy=_player.getSkin().viewSwapComp.mouseY;
}
private function onMouseUp(e:MouseEvent):void {
UpTime=new Date().time;//鼠标松开的时间
if(UpTime-DownTime<200){
swapVideoSwfHander(e);//在这里处理点击事件
}
_player.getStage().removeEventListener(Event.ENTER_FRAME,frame);
} 按下和松开之间如果差200毫秒(这是我瞎定的)之内就执行点击事件;
本文介绍了如何通过检测鼠标按下和松开的时间差来实现拖拽组件与单击事件的兼容处理,具体实现了一个用于解决组件拖拽与单击事件冲突的代码解决方案。
1448

被折叠的 条评论
为什么被折叠?



