【问题标题】:As3 - Child heredit event listener. How to stop?As3 - 子继承事件侦听器。如何停止?
【发布时间】:2011-10-28 10:30:53
【问题描述】:

我是 as3 新手。我遇到了这个奇怪的问题。我创建了一个按钮(类型:MyButton),有两个孩子,一个文本(TextField)和一个图像图标(类型:MyIcon)。 然后我在我的按钮上附加了一个事件监听器 mouse_click。

只要我点击文本,handeler 函数上的 e.target 就会被识别为 MyButton 类型。否则,如果我单击图像图标(按钮的子项),则 e.target 是 MyIcon 类型,而不是 MyButton。

如何防止这种情况发生?我需要在按钮上记录所有点击,我已经存储了一些我需要的处理函数的属性。

谢谢。

【问题讨论】:

    标签: actionscript-3 mouseevent event-listener


    【解决方案1】:

    请改用e.currentTarget。它返回MouseEvent 当前冒泡的对象。 e.target 返回 MouseEvent 实际启动的对象。

    了解事件冒泡here。这是一个非常重要的概念。

    【讨论】:

    • 也可以将按钮的mouseChildren属性设置为false。这将确保目标始终是按钮本身,但它会禁用任何按钮子子项的翻转和按钮效果。使用 e.currentTarget 可能是最好的。
    猜你喜欢
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多