我有兩個組件完全位於一個容器內(它們是ILOG Elixir地圖上的MapSymbols,如果有幫助的話)。每個組件都是帶有圖像和標籤的VBox。圖像具有綁定到Click事件的功能;標籤不。是否有可能通過z-index而不是層次結構來冒泡MouseEvent?
問題是當兩個項目的位置使得一個標籤位於另一個z-index標籤的上方時,標籤吃掉了所有mouseOver和mouseDown事件。冒泡不起作用,因爲它從標籤到容器的氣泡到達容器,從不碰到下面的元件。我無法將vbox設置爲mouseChildren =「false」,因爲這樣也可以避免圖像被點擊。
我能用這個做什麼嗎?組件的定位和數量是數據驅動的,而不是我控制的東西。
編輯:一些澄清。每個不同的部件的結構是這樣的:
<VBox>
<Image source="whatever" click="handleClick()"/>
<Label text="{item.label}/>
</VBox>
問題是,當兩個這樣的縱向方框被放置靠近在一起 - 一個盒的標記物可以是其他的框的圖像的上方,從與所述相互作用阻斷你較低的一個。
alt text http://imnotpete.com/wp-content/uploads/2010/02/example.png
在該示例中第二個標籤塊下方的圖標 - 鼠標事件,只有當你與圖標的下半部交互傳遞。
將VBox設置爲mouseEnabled="false"
,標籤爲mouseEnabled="false" mouseChildren="false"
似乎沒有任何效果 - 標籤仍然會阻止接收鼠標事件的較低圖像。
爲什麼是你的標籤定位*以上*它屬於哪個按鈕?它真的應該在裏面。然後你的問題也消失了。 – poke 2010-02-25 00:55:39