首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >stopImmediatePropagation不适用于SimpleButton

stopImmediatePropagation不适用于SimpleButton
EN

Stack Overflow用户
提问于 2016-05-18 01:44:11
回答 1查看 67关注 0票数 2

我正在尝试取消此actionscript3代码中的事件:

代码语言:javascript
复制
public class Main extends Sprite
{
    public function Main()
    {

        this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
    }

    protected function onAddedToStage(event:Event):void
    {
        this.addEventListener(MouseEvent.MOUSE_OVER, onOver, true, int.MAX_VALUE);

        var btn:SimpleButton = new SimpleButton(
            createBtnState(0x0000FF), 
            createBtnState(0x00FFFF),
            createBtnState(0x00FF00),
            createBtnState(0x0000FF));
        btn.x = stage.stageWidth - btn.width >> 1;
        btn.y = stage.stageHeight - btn.height >> 1;
        addChild(btn);
    }
    private function createBtnState(color:uint):Sprite
    {
        var s:Sprite = new Sprite();
        s.graphics.beginFill(color, 1);
        s.graphics.drawRect(0,0,100,20);
        s.graphics.endFill();
        return s;
    }

    protected function onOver(event:MouseEvent):void
    {
        event.stopImmediatePropagation(); //Don't work
    }
}

如何取消悬停事件按钮?在此示例中,按钮在您悬停时响应。

EN

回答 1

Stack Overflow用户

发布于 2016-10-14 12:21:00

您的鼠标悬停事件似乎是在Main上添加的,而不是Button。尝试将事件侦听器放在您声明的btn上。

代码语言:javascript
复制
protected function onAddedToStage(event:Event):void
{
    //this.addEventListener(MouseEvent.MOUSE_OVER, onOver, true, int.MAX_VALUE);

    var btn:SimpleButton = new SimpleButton(
        createBtnState(0x0000FF), 
        createBtnState(0x00FFFF),
        createBtnState(0x00FF00),
        createBtnState(0x0000FF));
    btn.x = stage.stageWidth - btn.width >> 1;
    btn.y = stage.stageHeight - btn.height >> 1;
    addChild(btn);

    btn.addEventListener(MouseEvent.MOUSE_OVER, onOver, true, int.MAX_VALUE);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37283043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档