本文主要是介绍as3 addEventListener各参数详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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()更有效。
这篇关于as3 addEventListener各参数详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!