![]() |
реагирование на события контейнера и дочерних элементов
Суть вопроса такая:
Есть контейнер (VBox) , внутри которого есть дочерние элементы (кнопки, картинки, надписи). Этот контейнер имеет 2 состояния (states) : одно при наведении на него мышки (он увеличивается в размере) и одно стандартное... Изменение состояния контейнера привязано к событиям mouseOver и mouseOut. Но получается такая штука, что при наведении мышки на дочерние компоненты контейнер реагирует на описанные выше события и меняет размеры. Как этого избежать? |
И заодно ещё вопрос,чтоб не создавать новую тему:
как сделать чтоб в увеличенном состоянии (при нахождении мышки внутри контейнера) VBox подсвечивался? как здесь http://www.vw.co.uk/used_cars/find Заранее спасибо |
event.stopPropagation в обработчике соответствующего события в дочернем элементе
|
т.е. для каждого дочернего элемента создать по 2 обработчика событий и прописать в каждом event.stopPropagation ?
не, такой вариант не подходит, т.к. когда пользователь наводит мышкой на контейнер, чаще всего он попадает сразу на какой-нибудь дочерний элемент и события не происходит, т.к. оно отключено с помощью stopPropagation... нужно как нибудь отследить именно событие пересечения границы контейнера, если это возможно в общем, надо получить примерно то же самое что и в примере, ссылку на который я дал выше |
Canvas в Canvas'e ) первый канвас имеет всегда один и тот же размер, второй внутри уже сам развлекаеться как может, хочет крутится хочет светится
|
не понял... к чему это?)) может я не уловил всей сути Вашей фразы, но не догадываюсь как она связана с задачей смены state'a контейнера при наведении на него мышкой, не обращая внимания на дочерние компоненты
может кто-нибудь видел в интернете подобный пример с открытым исходным кодом? |
это к тому что Box "слушает" своих детей на изменение размеров, ибо ему нужно под них подстроиться, но если сделать ребенка со статическими размерами а внутри него уже чудить всякое непотребство то VBox остаеться на месте
|
т.е. Вы предлагаете все дочерние компоненты объединить в 1 канвас, который в свою очередь поместить в VBox ?
|
попробовал
1) поместить внутрь VBox'a Canvas со статическими размерами 2) просто поменять VBox на Canvas - ничего не изменилось |
Заиметь каджому дочернему компоненту свой канвас. Оберни их в канвасы а VBox пусть работает с этим канвасом, незная что там внутри
|
| Часовой пояс GMT +4, время: 04:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.