0

假设我有一个名为“data”的对象,它有一个名为“closeItem”的回调函数,它做了一些事情。

所以我有一个带有关闭按钮的闪存文件。单击该按钮,我将调用此函数以关闭该项目。

所以问题是?

如果我将这个“closeItemFunction”作为全局函数传递,这可以正常工作。

但是如果将此函数作为“data.closeItem”传递,则这不起作用;抛出一些错误错误。

所以我只想问


“flash 是否只调用全局范围的 javascript 函数”??

4

2 回答 2

2

您可以将要执行的 JavaScript 包装在您声明并从 ActionScript 调用的匿名函数中,如下所示:

ExternalInterface.call("function() { data.closeItem(); }");

使用上述语法调用、执行函数似乎有点奇怪,但如果您愿意,可以使声明和单独调用更明确,如下所示:

ExternalInterface.call("(function() { data.closeItem(); })()");
于 2012-02-29T10:15:56.080 回答
1

简答(iirc);“是的”。

可能可以通过调用来解决

ExternalInterface.call("eval", "data.closeItem()")
于 2012-02-29T09:22:41.343 回答