addEventListener 在 Flash 17 中不起作用
Posted
技术标签:
【中文标题】addEventListener 在 Flash 17 中不起作用【英文标题】:addEventListener doesn't work in flash 17 【发布时间】:2015-06-12 06:12:15 【问题描述】:我有一个用于调整图像大小的小应用程序“敏捷上传器”。在我将 Flash 播放器升级到 17 之前它运行良好。现在这部分代码不起作用。
var button:Sprite = new Sprite();
button.graphics.beginFill(0xFFCC00);
button.graphics.drawRect(0, 0, 200, 200);
button.graphics.endFill();
button.useHandCursor = true;
button.buttonMode = true;
button.mouseChildren = false;
button.name = "browse";
button.addEventListener(MouseEvent.CLICK, _handleMouseEvent);
addChild(button);
private function _handleMouseEvent(evt:MouseEvent):void
if (ExternalInterface.available)ExternalInterface.call("alert", 2);
switch ( String ( evt.target.name ))
case "browse" :
if(this.file_limit == 0)
_fileRef = new FileReference();
_fileRef.browse([this._fileFilter]);
_fileRef.addEventListener(Event.SELECT, _onImageSelect);
else
_multiFileRef = new FileReferenceList();
_multiFileRef.browse([this._fileFilter]);
_multiFileRef.addEventListener(Event.SELECT, _onMultiImageSelect);
break;
我知道这部分代码没有错误,但它仍然无法在 Flash Player 17 中运行。
我在 Flash 开发中编译应用程序。 flex 4.6.0 作为默认 sdk。
如果有人知道出了什么问题,请告诉我!
感谢任何帮助!
【问题讨论】:
如何确定addEventListener
不起作用?
你点击了按钮,没有任何反应?你说的是这个吗?
新的 Flash 播放器不太可能破坏 addEventListener
。
好吧,我的意思是“什么都没有发生”并不能很好地隔离问题。我怀疑addEventListener
是问题所在,是其他问题。放置一些调试输出,或者更好的是,使用调试器运行 SWF 并查看它到达的位置。
点击后要执行的第一个函数是ExternalInterface.call("alert", 2);但什么也没发生。如果我使用调试器运行 swf,则效果很好!但!!!!我的调试器版本是 10.3.0,浏览器有 17
【参考方案1】:
这可能与您的 ExternalInterface 调用有关。在 Flash 嵌入代码中,确保 allowscriptaccess=always。
【讨论】:
以上是关于addEventListener 在 Flash 17 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章