如何防止Flex事件被分派到目标?

时间:2012-09-13 08:50:48

标签: flex

我想避免用户触发的鼠标事件不会被分派到目标对象,有效地“冻结”用户的GUI。

在一个只有一个mx.controls.Button的示例应用中,我在按钮上调用addEventListener以获得mouse events的通知。在事件处理程序中,我在事件上调用Event::stopImmediatePropagation,假设这将“丢弃”事件。单击该按钮将调用我的事件处理程序,但按钮被“单击”(它动画并触发事件)。

我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

button.mouseEnabled = false;
button.mouseChildren = false;

应该有效

答案 1 :(得分:0)

根据您的界面的高级程度,您可以在所有内容之上抛出一个对象(s:Rect在s:Group中可以工作),将宽度和高度设置为100%,并禁用mouseChildren

答案 2 :(得分:0)

USE removeEventListener()

var b:Button = new Button();

function init():void
{
    b.addEventListener(MouseEvent.CLICK, onButtonClick);
}


function onButtonClick(event:MourseEvent):void
{ 
    b.removeEventListener(MouseEvent.CLICK, onButtonClick);
}