冒泡

2010-05-24 81 views
1

親愛的理查德·紹洛伊,
我的經歷,你就冒泡答案柔性自定義事件,我想探索更多的冒泡。 請參考下面冒泡

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="com.view.*" > 
<mx:Script> 
    <![CDATA[ 
    import com.events.ImgLoaded; 
    private function loadedd(evt:ImgLoaded):void{ 
    trace("test") 
    evt.stopImmediatePropagation(); 
    } 
    private function panelClickHandler(evt:Event):void{ 
    trace("panel"); 
    } 
    ]]> 
</mx:Script> 
<mx:VBox> 
    <mx:Panel click="panelClickHandler(event)"> 
    <view:Load imgLoad="loadedd(event)"/> 
    </mx:Panel> 
</mx:VBox> 
</mx:Application> 

我的樣本在我的自定義事件類我設置冒泡= TRUE,取消=真

我可以從以前的答案是冒泡隻影響UI組件理解;即使將bubbles參數設置爲true,從自定義類中觸發的事件也不會冒泡。

我的問題是如何防止panelClickHandler功能就被解僱了,當我在「加載」按鈕,單擊(自定義組件)?

請解釋冒泡與良好的例子(喜歡與自定義事件類)?

+0

這似乎是指以下的答案:http://stackoverflow.com/questions/2040610/bubbling-events-within-custom-components-in-flex/2040770#2040770 – 2010-05-24 02:14:16

回答

0

我假設你的第一語言不是英語,無論如何我不知道我完全理解你,但我認爲你所要求的是如何允許在視圖中點擊:加載燒製而成的點擊面板上的處理程序。

你需要的是建立一個事件偵聽器在視圖中點擊:加載組件,並stopPropagation從那裏。這將阻止面板上的點擊處理程序啓動。例如:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="com.view.*" > 
    <mx:Script> 
     <![CDATA[ 
     import com.events.ImgLoaded; 
     private function loadedd(evt:ImgLoaded):void{ 
     trace("test") 
     evt.stopImmediatePropagation(); 
     } 
     private function panelClickHandler(evt:Event):void{ 
     trace("panel"); 
     } 
private function load_clickHandler (e:MouseEvent) : void 
{ 
e.stopPropagation; 
} 
     ]]> 
    </mx:Script> 
    <mx:VBox> 
     <mx:Panel click="panelClickHandler(event)"> 
     <view:Load imgLoad="loadedd(event)" click="load_clickHandler(event)"/> 
     </mx:Panel> 
    </mx:VBox> 
    </mx:Application>