У меня есть два компонента, которые абсолютно расположены в контейнере (это MapSymbols на карте ILOG Elixir, если это помогает). Каждый компонент представляет собой VBox с изображением и меткой. Изображения имеют функциональность, связанную с событием Click; этикетки нет.
Проблема в том, что 2 элемента расположены так, что метка одного над значком другого в z-index так, что метка съедает любые события mouseOver и mouseDown. Пузырьки не помогают, так как они пузыриваются от ярлыка до vbox к контейнеру, никогда не ударяя по нижнему элементу. Я не могу установить vbox на mouseChildren = "false", так как это также предотвращает нажатие на изображение.
Что я могу с этим сделать? Расположение и количество компонентов зависят от данных, а не от того, что я могу контролировать.
РЕДАКТИРОВАТЬ: некоторые разъяснения. Каждый отдельный компонент структурирован так:
<VBox>
<Image source="whatever" click="handleClick()"/>
<Label text="{item.label}/>
</VBox>
Проблема в том, что два из этих vbox расположены близко друг к другу - метка одного блока может быть над изображением другого блока, блокируя вам взаимодействие с нижним.
(источник: imnotpete.com )
В этом примере вторая метка блокирует нижний значок - события мыши передаются только при взаимодействии с нижней половиной этого значка.
Установка VBox на mouseEnabled="false"
и метка на mouseEnabled="false" mouseChildren="false"
, похоже, не имеют никакого эффекта - метка по-прежнему блокирует нижнее изображение от получения событий мыши.