0

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

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

我怎么能这样做?

4

3 回答 3

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

应该管用

于 2012-09-13T08:58:09.990 回答
0

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

于 2012-09-13T10:43:51.177 回答
0

使用 removeEventListener()

var b:Button = new Button();

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


function onButtonClick(event:MourseEvent):void
{ 
    b.removeEventListener(MouseEvent.CLICK, onButtonClick);
}
于 2012-09-13T11:39:52.470 回答