Руководство по actionscript. часть 3, стр. 133
// DisplayObjectContaiпег. contains( ) возвращает true, если указанный
// объект является потомком данного контейнера.
if (!е. target. parent. contains(bgRect)) { e. target. parent. addChi1dAt(bgRect. 0);
}
}
}
}
В таком виде код из листинга 20.2 всегда оставляет выделенным одно из текстовых полей. Для удаления выделения при выходе указателя мыши за пределы обоих текстовых полей мы должны сначала зарегистрировать приемник в обоих текстовых полях для получения события MouseEvent. MOUSE_OUT:
textl. addEventLi stener(MouseEvent. M0USE_0UT. mouseOutLi stener); text2.addEventLi stener(MouseEvent. M0USE_0UT, mouseOutLi stener);
Затем нам придется реализовать код, который удаляет прямоугольник в ответ на событие MouseEvent. MOUSE_OUT:
private function mouseOutListener (e:MouseEvent):void { // Если выделение присутствует… if (e. target. parent. contains(bgRect)) { // …удаляем его
e. target. parent. removeChi1d(bgRect):
}
}
Обход объектов в иерархии отображения
Обход объектов в иерархии отображения означает систематическое обращение к некоторым или ко всем дочерним объектам контейнера, в основном для обработки этих объектов.