zoukankan      html  css  js  c++  java
  • as3 阻止后续侦听器

    public class Test1 extends Sprite
        {
            private var spr:Sprite;
            private var spr2:Sprite;
            public function Test1()
            {
                spr = new Sprite();
                spr.graphics.beginFill(0xff0000,1);
                spr.graphics.drawCircle(100,100,10);
                spr.graphics.endFill();
                this.addChild(spr);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                
                spr2 = new Sprite();
                spr2.graphics.beginFill(0xff0000,1);
                spr2.graphics.drawCircle(200,100,10);
                spr2.graphics.endFill();
                this.addChild(spr2);
                spr2.addEventListener(MouseEvent.CLICK,_hander2);
            }
            private function _hander(evt:MouseEvent):void
            {
                trace("click");
            }
            private function _hander2(evt:MouseEvent):void
            {
                trace("click2");
                spr.removeEventListener(MouseEvent.CLICK,_hander);
                //spr一的侦听器函数不触发了
            }
        }

        public class Test1 extends Sprite
        {
            private var spr:Sprite;
            private var spr2:Sprite;
            public function Test1()
            {
                spr = new Sprite();
                spr.graphics.beginFill(0xff0000,1);
                spr.graphics.drawCircle(100,100,10);
                spr.graphics.endFill();
                this.addChild(spr);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                
                spr2 = new Sprite();
                spr2.graphics.beginFill(0xff0000,1);
                spr2.graphics.drawCircle(200,100,10);
                spr2.graphics.endFill();
                this.addChild(spr2);
                spr2.addEventListener(MouseEvent.CLICK,_hander2);
                
                this.stage.addEventListener(MouseEvent.CLICK,_stageClick);
            }
            private function _hander(evt:MouseEvent):void
            {
                trace("click");
                //舞台将不会收到click事件
                evt.stopImmediatePropagation();
            }
            private function _hander2(evt:MouseEvent):void
            {
                trace("click2");
                //spr.removeEventListener(MouseEvent.CLICK,_hander);
                //spr一的侦听器函数不触发了
            }
            private function _stageClick(evt:MouseEvent):void
            {
                trace("stage_click");
            }
        }
    
    
    
     
  • 相关阅读:
    快乐的一天从AC开始 | 20210717 | 牛客小白月赛36J
    快乐的一天从AC开始 | 20210717 | P4839
    P7295-[USACO21JAN]Paint by Letters P【平面图欧拉公式】
    泛型
    List集合
    红黑树被定义
    单例模式的双重检查锁模式为什么必须加 volatile?
    什么是 happens-before 规则?
    解决AtomicInteger 在高并发下性能问题
    什么是指令重排序?为什么要重排序?
  • 原文地址:https://www.cnblogs.com/as3lib/p/4109866.html
Copyright © 2011-2022 走看看