Flex 派发事件问题 55

自定义事件类问题在下边CustomEvent:package{importflash.events.Event;importflash.events.EventDispa... 自定义事件类问题在下边
CustomEvent:
package
{
import flash.events.Event;
import flash.events.EventDispatcher;

public class CustomEvent extends Event
{
public static const EVENT_NAME:String=”event_name”;

public static const dispatcher:EventDispatcher=new EventDispatcher();
public var data:Object;

public function CustomEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, data:Object=null)
{
super(type, bubbles, cancelable);
this.data=data;
}
override public function clone():Event{
return new CustomEvent(type, bubbles, cancelable, data);
}
}
}

抛出事件时:
var custom:CustomEvent=new CustomEvent(CustomEvent.CLICK);
//custom.data is Object;//发送事件同时,可以传值(可传可不传)
CustomEvent.dispatcher.dispatchEvent(custom);

侦听事件时:
CustomEvent.dispatcher.addEventListener(CustomEvent.CLICK,clickHandler);

问题是当我监听一个图片,监听他的mouse_over 和 double_Click ,
滑过派发123 双击派发456,现在滑过可以监听到,但是双击事件不能触发了,
img.addEventListener(MouseEvent.mouse_over,overHandler)
img.addEventListener(MouseEvent.double_click,dbClickrHandler)
function overHandler(e:MouseEvent):void{
CustomEvent.dispatcher.dispatchEvent("123");
}
function dbClickrHandler(e:MouseEvent):void{
CustomEvent.dispatcher.dispatchEvent("456");
}
展开
 我来答
正牌狼王
2014-10-09 · TA获得超过261个赞
知道小有建树答主
回答量:531
采纳率:100%
帮助的人:553万
展开全部
原例子有说明,抛出事件是 CustomEvent.dispatcher.dispatchEvent(custom);

其中 custom 是 CustomEvent 类型。

你自己写的是传入 “123” 和 “456”,按照它的格式,应该这样写

function overHandler(e:MouseEvent):void{
var overEvent:CustomEvent = new CustomEvent("123");
CustomEvent.dispatcher.dispatchEvent(overEvent);
}
function dbClickrHandler(e:MouseEvent):void{
var dbEvent:CustomEvent = new CustomEvent("456"); CustomEvent.dispatcher.dispatchEvent(dbEvent);
}
更多追问追答
追问
没区别吧,测试了一样不行。
我发现只要是在鼠标事件之后再派发只能派发一次。之后就不能再监听到鼠标事件了。
追答
当然有区别,dispatchEvent 跟的参数必须是一个 Event 类型数据。

你的问题单看这里也不能知道,首先你想要什么效果,然后你侦听是在哪里。有个整体的代码才能分析。

针对上面你发出来的代码来看,我那样写是没问题的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应 | 问题解决率99% | 24小时在线
立即免费咨询律师
18011人正在获得一对一解答
南京彩虹之旅3分钟前提交了问题
郑州都市传说6分钟前提交了问题
天津金色童年5分钟前提交了问题
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消
还有疑问? 马上咨询35426位在线律师,3分钟快速解答
立即免费咨询律师

辅 助

模 式