Apache flex flex自定义事件冒泡

Apache flex flex自定义事件冒泡,apache-flex,events,event-bubbling,Apache Flex,Events,Event Bubbling,亲爱的Richard Szalay, 我看了你们关于泡泡的答案,我想探索更多的泡泡。 请看下面我的样品 <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 loa

亲爱的Richard Szalay,
我看了你们关于泡泡的答案,我想探索更多的泡泡。 请看下面我的样品

<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>

在我的自定义事件类中,我设置bubbling=true,cancelable=true

从前面的回答中,我可以理解冒泡只会影响UI组件;从自定义类激发的事件不会冒泡,即使冒泡参数设置为true也是如此

我的问题是,当我单击“加载”(自定义组件)中的按钮时,如何防止触发panelClickHandler函数


请用一个很好的例子来解释冒泡(比如自定义事件类)?

我假设你的母语不是英语,无论如何我不确定我是否完全理解你的意思,但我想你要问的是如何允许视图中的点击:从启动面板上的点击处理程序加载

您需要的是设置一个事件监听器,以便单击视图:加载组件,并从此处停止播放。这将防止面板上的单击处理程序触发。例如:

<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>

这似乎是指以下答案: