首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法检查DisplayObject A是否是DisplayObject B的后代?

有没有办法检查DisplayObject A是否是DisplayObject B的后代?
EN

Stack Overflow用户
提问于 2010-10-26 10:54:46
回答 2查看 831关注 0票数 1

我希望能够快速检查给定的DisplayObject是否是后代(而不是继承意义上的)。(子女、孙女、曾孙、曾孙等)另一个DisplayObject。

似乎没有一种本土化的方法可以做到这一点,我只能想出两种方法来实现它:

  1. 创建所有嵌套循环的之母。好像有点,我不知道,错了吗?
  2. 在“子”处分派一个冒泡事件,并检查潜在的“父”是否收到它。

我正在尝试后者,但希望能提供一些信息。我想创建一个很好的实用程序静态函数,例如:

代码语言:javascript
复制
static public function isDescendantOf(child:DisplayObject, parent:DisplayObjectContainer):Boolean { 

    var isDescendant: Boolean = false;

    // perform some magical 
    // check that returns true 
    // if it is a descendant

    return isDescendant;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-26 11:31:11

神圣的角驼鹿,为了这件事.

代码语言:javascript
复制
parent.contains(child);

有关DisplayObjectContainer.contains(),请参阅参考资料。

票数 7
EN

Stack Overflow用户

发布于 2010-10-26 11:23:49

好的,我让它起作用了,但是它使用了一个讨厌的匿名函数。

想知道它是否可以改进?

代码语言:javascript
复制
static public function isDescendantOf(child:DisplayObject, parent:DisplayObjectContainer):Boolean {
    const HELLO:String = "hello";
    var isDescendant:Boolean = false;

    parent.addEventListener(HELLO, function(e:Event):void {
       isDescendant = true;
    });

    child.dispatchEvent(new Event(HELLO, true, false));
    return isDescendant;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4022966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档