我想避免用户触发的鼠标事件不会被分派到目标对象,有效地“冻结”用户的GUI。
在一个只有一个mx.controls.Button
的示例应用中,我在按钮上调用addEventListener
以获得mouse events的通知。在事件处理程序中,我在事件上调用Event::stopImmediatePropagation
,假设这将“丢弃”事件。单击该按钮将调用我的事件处理程序,但按钮被“单击”(它动画并触发事件)。
我怎么能这样做?
答案 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);
}