Проверьте, находится ли выбранный элемент внутри IVisualElement (родительский) - PullRequest
1 голос
/ 27 мая 2010

Я пытаюсь проверить, находится ли выбранный элемент внутри IVisualElement во Flex 4. Поэтому я хочу что-то вроде «если этот элемент находится в этом элементе, то выполнить функцию».

Мне известно о свойстве parent, но, похоже, это не работает, когда мой элемент не является прямым потомком элемента, но, например, имеет глубину 3 уровня.помочь мне с этим?

1 Ответ

1 голос
/ 27 мая 2010

Перемещайтесь вверх по списку отображения, пока не нажмете либо IVisualElement, либо Stage. Если вы нажмете Stage, вы проиграете.

function isInsideIVisualElement(child:DisplayObject):Boolean
{
  var p = child.parent;
  while(p != null)
  {
    if(p is Stage)
      return false;
    if(p is IVisualElement)
      return true;
    p = p.parent
  }
  //p is null
  return false;//or throw error: child is not addChilded to begin with
}
...