gpt4 book ai didi

flash - 如何在 AddEvent 监听器中内联定义 ActionScript 事件处理函数

转载 作者:行者123 更新时间:2023-12-04 20:24:04 25 4
gpt4 key购买 nike

我有一个 Action 监听器:

myText.addEventListener(TextEvent.LINK,linkClickHandler);

据此,我需要单独编写一个事件处理函数来处理文本链接事件。

现在我的要求是我需要在同一行中编写该函数而不是给出它的名称。即,类似
mytext.addEventListenet(TextEvent.LINK, 
function(event:TextEvent) {....code comes here....});

我可以在 AS3 中这样做吗?如果可能的话,它的语法是什么。

另外我想知道,除了作为默认参数的 event 之外,我是否可以再向事件处理程序传递一个额外的参数。

最佳答案

您的代码将起作用。只需要函数的返回类型。

编辑:一个简单的委托(delegate)类:

public class Delegate
{

public var cb:Function;
public var args:Array;

public function Delegate(cb:Function, ...args)
{
this.cb = cb;
this.args = args;
}

public static function create(cb:Function, ...args):Function {
var functionProxy:Delegate = new Delegate(cb, args);
return functionProxy._create;
}

public function _create(e:Object=null):void {
var params:Array = new Array();
if(e) {
params.push(e);
}

for each (var o:Object in args[0]) {
params.push(o);
}
cb.apply(null, params);
}

}

关于flash - 如何在 AddEvent 监听器中内联定义 ActionScript 事件处理函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com