ActionScript / Flex:使用额外信息扩充MouseEvents

时间:2010-03-12 19:10:27

标签: flex actionscript

我有一个商务舱Spam和相应的视图类SpamView

如何从[{1}}中增加MouseEvent,以便SpamView出来的MouseEvent包含对Spam SpamView实例的引用class ViewContainer { ... for each (spam in spams) { addChild(new SpamView(spam)); ... function handleMouseMove(event:MouseEvent) { if (event is SpamViewMouseEvent) trace("The mouse is being moved over spam:", spam) } } SpamView 1}}正在显示?

以下是我想要使用它的方法:

event.target

谢谢!

我认为不起作用的事情

  • 为每个SpamView添加事件监听器:簿记(确保正确添加/删除它们)是一种痛苦。

  • 使用MouseEvent:事件的目标可能是SpamViewMouseEvent的孩子(这不是很有用)

  • 收听{{1}},创建新的{{1}},复制所有字段,然后发送:手动复制所有字段也很痛苦。

1 个答案:

答案 0 :(得分:0)

解决这只小狗有多种方法。我会使用你的#2选项,但是构建一个实用程序函数,可以获取屏幕上的所有垃圾视图,并在循环遍历垃圾视图时执行一些操作。

var targ:DisplayObject = DisplayObject(event.target)

如果(targ是SpamView)//那么你就知道发生了什么。

if(loopedSpamView.contains(targ))//然后目标在spamViewContainer中,你应该很酷。

祝你好运, 杰里米