冒泡

2010-05-24 79 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>