【问题标题】:Usage of custom event with properties... Multiple events and single listener使用带有属性的自定义事件...多个事件和单个侦听器
【发布时间】:2010-01-06 00:35:33
【问题描述】:

对于以下情况,我很难弄清楚该怎么做:

  • 我的应用中有多个项目希望用户单击。有些项目是完全不同的类别。

  • 类调度事件,然后在捕获事件时,对松散耦合的显示对象的变换属性进行一些修改。

  • 我想要两个单独的类来调度相同类型的事件,因为我已经有一个基于给定 url 绘制图像的图像类...我希望这些类来调度事件,但是我 认为我希望在事件发生时检测到差异......即,我想识别事件的“起源”或“子类型”。某种 if/then 逻辑就足够了。

有两种不同类型的事件会更好吗?

人们通常如何做到这一点?

有人建议创建某种变量来检测事件侦听器的“子事件类型”吗?

感谢您的任何想法...

【问题讨论】:

    标签: apache-flex actionscript-3


    【解决方案1】:

    Event 类的 target 属性包含调度事件的类。您可以在事件处理程序中查询该属性以识别事件的“来源”。

    为事件创建一个单独的(子)类是另一种可行的选择。我想这取决于它是否真的是由不同对象调度的相同逻辑事件,还是逻辑上不同的事件。

    【讨论】:

    • 非常感谢您的简洁回复。您能否详细说明如何区分一种类型的目标事件和另一种?您通常会为目标指定一个名称并对其进行检查吗?
    • 目标属性包含对调度事件的实际对象的引用,因此如果您知道调度程序的类型,您可以将目标转换为正确的类型并访问其所有属性(例如如果你有某种ID)。这样做会在事件处理程序和事件调度程序之间引入一些紧密耦合,我不确定这是否是您情况下的最佳解决方案。你能详细说明一下你想要实现的目标吗?
    • 为了便于识别,在自定义事件类中添加一个属性怎么样?当然,使用 'target' 属性也足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    相关资源
    最近更新 更多