Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   реагирование на события контейнера и дочерних элементов (http://www.flasher.ru/forum/showthread.php?t=101871)

Flashdown 04.10.2007 14:58

реагирование на события контейнера и дочерних элементов
 
Суть вопроса такая:
Есть контейнер (VBox) , внутри которого есть дочерние элементы (кнопки, картинки, надписи).
Этот контейнер имеет 2 состояния (states) : одно при наведении на него мышки (он увеличивается в размере) и одно стандартное...
Изменение состояния контейнера привязано к событиям mouseOver и mouseOut.

Но получается такая штука, что при наведении мышки на дочерние компоненты контейнер реагирует на описанные выше события и меняет размеры.

Как этого избежать?

Flashdown 04.10.2007 15:02

И заодно ещё вопрос,чтоб не создавать новую тему:
как сделать чтоб в увеличенном состоянии (при нахождении мышки внутри контейнера) VBox подсвечивался? как здесь http://www.vw.co.uk/used_cars/find
Заранее спасибо

__i 04.10.2007 15:09

event.stopPropagation в обработчике соответствующего события в дочернем элементе

Flashdown 04.10.2007 15:16

т.е. для каждого дочернего элемента создать по 2 обработчика событий и прописать в каждом event.stopPropagation ?

не, такой вариант не подходит, т.к. когда пользователь наводит мышкой на контейнер, чаще всего он попадает сразу на какой-нибудь дочерний элемент и события не происходит, т.к. оно отключено с помощью stopPropagation...
нужно как нибудь отследить именно событие пересечения границы контейнера, если это возможно
в общем, надо получить примерно то же самое что и в примере, ссылку на который я дал выше

__i 04.10.2007 17:25

Canvas в Canvas'e ) первый канвас имеет всегда один и тот же размер, второй внутри уже сам развлекаеться как может, хочет крутится хочет светится

Flashdown 04.10.2007 17:45

не понял... к чему это?)) может я не уловил всей сути Вашей фразы, но не догадываюсь как она связана с задачей смены state'a контейнера при наведении на него мышкой, не обращая внимания на дочерние компоненты

может кто-нибудь видел в интернете подобный пример с открытым исходным кодом?

__i 04.10.2007 18:17

это к тому что Box "слушает" своих детей на изменение размеров, ибо ему нужно под них подстроиться, но если сделать ребенка со статическими размерами а внутри него уже чудить всякое непотребство то VBox остаеться на месте

Flashdown 04.10.2007 19:00

т.е. Вы предлагаете все дочерние компоненты объединить в 1 канвас, который в свою очередь поместить в VBox ?

Flashdown 04.10.2007 19:05

попробовал
1) поместить внутрь VBox'a Canvas со статическими размерами
2) просто поменять VBox на Canvas
- ничего не изменилось

__i 04.10.2007 19:15

Заиметь каджому дочернему компоненту свой канвас. Оберни их в канвасы а VBox пусть работает с этим канвасом, незная что там внутри


Часовой пояс GMT +4, время: 04:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.