2010-05-27 5 views
1

J'essaie de vérifier si un élément cliqué est à l'intérieur d'un IVisualElement dans Flex 4. Donc je veux quelque chose comme "si cet élément est dans cet élément, puis exécuter la fonction ".Vérifiez si l'élément cliqué est à l'intérieur de IVisualElement (parent)

Je connais la propriété 'parent' mais cela ne semble pas fonctionner lorsque mon élément n'est pas un enfant direct de l'élément mais par exemple 3 niveaux de profondeur.

Quelqu'un peut-il m'aider avec ça?

Répondre

1

Traversez la liste d'affichage jusqu'à ce que vous atteigniez un IVisualElement ou le Stage. Si vous frappez Stage, vous perdez.

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 
} 
+0

J'ai changé cela un peu et ça marche maintenant, merci! – PhysX