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");
        }
    }

 
时间: 2024-08-06 11:50:36

as3 阻止后续侦听器的相关文章

Android事件侦听器回调方法浅谈

http://developer.51cto.com/art/201001/180846.htm Android事件侦听器作为视图View类的接口,其中包含有不少回调方法,比如:onClick():onLongClick():onFocusChange():onKey():onTouch():onCreateContextMenu()等等. Android操作系统中,对于事件的处理是一个非常基础而且重要的操作.许多功能的实现都需要对相关事件进行触发才能达到自己的目的.比如Android事件侦听器

js事件流、事件处理程序/事件侦听器

1.事件流 事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档). 事件捕获 事件捕获的思想是不太具体的节点应该更早的接收到事件,而最具体的节点应该在最后接收到节点.事件捕获的用意在于事件到达预定目标之前捕获它. DOM事件流 “DOM2级事件流”规定的事件流包括三个阶段:事件捕获阶段.处于目标阶段和冒泡阶段.首先发生的是事件捕获,为截获事件提供了机会.然后是实际的目标接收到

31SkypeForBusiness2015进阶篇--创建侦听器并重新发布拓扑

6.3.13 创建侦听器 创建侦听器之前,我们需要更改下之前侦听器的DNS记录指定的IP地址,更新到我们规划的IP地址:172.16.10.23/24 6.3.15 重新发布拓扑

SQL Server 2012 AlwaysOn高可用配置之九:添加侦听器

9.   添加侦听器 9.1 点击"添加侦听器" 9.2 输入侦听器名称和端口,点击"添加" 9.3 输入侦听器IP,点击"确定" 9.4 点击"确定" 9.5 成功创建完成侦听器后如下" 9.6 在AD中自动生成相应的对象 9.7 在DNS自动生成相应的DNS记录 SQL Server 2012 AlwaysOn高可用配置篇成功完结 -----------------------------------------

16.3 添加侦听器

16.3  添加侦听器 16.3.1 添加侦听器 在 SSMS 中,右键单击"可用性组侦听器",然后在右键菜单中选择"添加侦听器". "在新的可用性组侦听器"窗口,为侦听器指定 DNS 名称.端口(实例当前使用的端口).IP 地址. 添加完成后,在"可用性组侦听器"中将列出已有的侦听器. 上述操作,脚本为: USE [master] GO ALTER AVAILABILITY GROUP [HAGroup01] ADD LIS

怎么配置 Oracle 侦听器来使用SQL操作ST_Geometry

关于这个内容,其实从ArcSDE9.2推出ST_Geometry就让用户感到很有吸引力,而且特别是在ArcSDE9.3之后,用户使用SQL操作ST_geometry越来越多,但是在配置Oracle监听来说总是碰到这样那样的问题,以下就是总结一下配置 Oracle 侦听器来使用SQL操作ST_Geometry . 首先说明一下:如果你的ArcSDE版本是9.2最好不要使用这种方式,因为Bug也是比较多的. 例如:http://support.esri.com/en/knowledgebase/te

VueJs(7)---计算属性和侦听器

计算属性和侦听器 一. 概述 计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="example"> {{ message.split('').reverse().join('') }} </div> 在这个地方,模板不再是简单的声明式逻辑.你必须看一段时间才能意识到,这里是想要显示变量 message 的翻转字符串.当你想要在模板中多次引用此处的翻转字符串时,就会更加难以

Oracle 11g R2网络侦听器实验

单实例环境(不是RAC),侦听器和实例必须要在同一台机器上.两台机器通信必须使用一个网络协议才能进行通信,假如浏览网页需要使用http协议,远程连接需要使用RDP/ssh/telnet等等. 有一台oracle服务器,有个客户端要连接到oracle服务器上,两台机器通信就要使用oracleNET协议,和以上的协议是一样的.有协议就要有相应的端口,所以oracleNET有个默认的侦听端口1521. 其实配置oracle网络就是配置oracle侦听器,侦听器很重要,如果没有配置侦听器,客户端是无法连

vue中计算属性,方法,侦听器

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue中计算属性,方法,侦听器</title> <script src="./vue.js"></script> </head> <body> <div id="app&qu