as3 addEventListener各参数详解

el/2024/7/13 11:21:53

public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

type:String 动作类型

listener:Function 调用的方法

useCapture:Boolean(default = false) 确定侦听器是运行于捕获阶段、目标阶段还是冒泡阶段。如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。 如果 useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。用这个参数搭配stopPropagation()/stopImmediatePropagation()可以做些很偏门的事。

priority:int=0;priority 参数用于设置该事件侦听器的优先级。默认值为0,但你可以将它设置为负整数值或正整数值。将优先执行此数字较大的事件侦听器。对于具有相同优先级的事件侦听器,则按它们的添加顺序执行,因此将优先执行较早添加的侦听器

* useWeakReference:Boolean = false 可以使用useWeakReference参数来指定对侦听器函数的引用是弱引用还是正常引用。通过将此参数设置为true,可避免侦听器函数在不再需要时仍然存在于内在中的情况。Flash Player使用一项称为“垃圾回收”的技术从内在中清除不再使用的对象。如果不存在对某个对象的引用,则该对象被视为不再使用。垃圾回收器不考虑弱引用,这意味着如果侦听器函数仅具有指向它的弱引用,则符合垃圾回收条件

Method:
addEventListener(eventName,functionName,true/false,int,true/false);
动作类型,调用的方法,动作捕抓流活动状态,优先级,垃圾回收

stopPropagation() 与 stopImmediatePropagation() 都能阻止后续的侦听行为,即能阻挡掉事件流中事件的冒泡,简而言之就是让后面的侦听都不执行。
两者的区别在于,stopImmediatePropagation 会让当前对象的次优先级的所有监听都不执行,
一般情况下两者用哪个都可以,但比如下面代码,这种使用stopImmediatePropagation()更有效。


http://www.ngui.cc/el/5432084.html

相关文章

网页SWF页面传参

网页里: swf/about.swf?id123 swf/about.swf?id<%Request.QueryString["id"] %> as3里: var id0; if (loaderInfo.parameters["id"]!null) { idloaderInfo.parameters["id"]; }

AS忽略png透明区域的鼠标事件

http://bbs.9ria.com/thread-73075-1-2.html 这个问题被提到过很多次了&#xff0c;这里是一种解决方案&#xff0c;http://l4cd.net/blog/post-ignore-the-events-of-png-transparency.html。可是经过测试Sprite的hitArea效率很低&#xff0c;而且还需要创建一个area对象&…

EnterFrame和TimerEvent区别

1. enterFrame是一个由播放器发布的事件&#xff0c;每过(1/帧频)秒向全部继承自DisplayObject的对象发送。 在这个事件之前正好是屏幕的一次固定刷新。(即两次更新的时间间隔为(1/帧频)秒) 2. 在flex中对enterFrame设置频率 在Application标签中设置frameRate”"&#xf…

XCode 4.2(4.1)真机调试及生成IPA全攻略

众所周知&#xff0c;在Xcode上开发的程序只能在模拟器中运行&#xff0c;如果要放到真机上则要花费99美金购买开发者证书iDP。这严重阻碍了我等草根开发者探索的脚步。写个小程序&#xff0c;同学间分享一下这个小小的愿望都不能满足&#xff0c;自然不能善罢甘休。 在没有iDP…

AS3老虎机简单原型

http://nickro.org/wp-content/uploads/2012/04/demo.swf

Super用法深透理解

学习AS3以来&#xff0c;Super用法一直有点搞不清&#xff0c;帮助文档里说的也是含糊不清。。 我们看下官方帮助先&#xff1a;“调用方法或构造函数的超类或父版本。在类构造函数体内使用 super() 语句时&#xff0c;该语句将调用构造函数的超类版本。对超类构造函数的调用必…

stage.width|stage.height|stage.stageWidth|stage.stageHeight区别

我们先看下帮助文档里的说明&#xff1a; stage.width&#xff1a;指示显示对象的宽度&#xff0c;以像素为单位。宽度是根据显示对象内容的范围来计算的。如果您设置了 width 属性&#xff0c;则 scaleX 属性会相应调整&#xff0c;如以下代码所示&#xff1a; stage.height&a…

加载动态数据,不同环境判断

加载动态文件时&#xff0c;需添加随机数&#xff0c;独立PLAYER则不需要&#xff0c;只需要添加以下判断即可 if (Capabilities.playerType "StandAlone" || Capabilities.playerType "External") {}else {infoXMLString "?" Math.random(…

Math.round|Math.floor|Math.ceil区别

Math.round(val:Number):Number[静态] 将参数 val 的值向上或向下舍入为最接近的整数并返回该值。&#xff08;即小数点后四舍五入&#xff09; Example: trace(Math.round(4.4))–4 trace(Math.round(4.7))–5 Math.floor(val:Number):Number[静态] 返回由参数 val 指定的数字…

如何配置FlashDevelop软件并支持Flash CS4[转]

FD软件是指FlashDevelop&#xff0c;是学习、开发Flash ActionScript 3.0的有力工具&#xff0c;其最大的特点是超强代码提示、方便的快捷键操作、开源代码模板定制、可扩充的插件功能&#xff0c;无不展示了这是一款优秀的辅助软件&#xff01; 本文紧跟Flash CS4&#xff0c;…