打印

[AS3] 请问addEventListener(listener) 这里怎么总是提示错误。

import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.FileReference;
btn.addEventListener(MouseEvent.MOUSE_DOWN,prdHandle);
function prdHandle(ent:Event) {
       var file:FileReference=new FileReference();
       var listener:Object = new Object();
       file.addEventListener(listener);

       listener.onSelect=function(flie:FileReference){
       trace(flie.name)
       };


       listener.COMPLETE=function(flie:FileReference){
       };

       file.browse();
      
}

[ 本帖最后由 enc0717 于 2008-6-12 12:33 编辑 ]
楼主在用AS2的习惯写AS3!
AS3中一切事件都用侦听,侦听器也只能使用函数
http://www.flash023.cn 终极讨厌
addEventListener有两个参数。
而下面两句是AS2的语法。
紫色的風.net
迷一样打不开的地址

先谢谢2位了,辛苦了。

我是看的帮助中这样写的啊?帮助错了啊。

file.addEventListener(Event.SELECT,selHandle);
       file.addEventListener(Event.COMPLETE,comHandle);


function selHandle(flie:FileReference) {
trace(flie._name);
}
function comHandle(flie:FileReference) {
}
改成这样可以运行,但是这样写,是标准的写法么,我怎么检测文件呢?

输出结果是这样的
TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::Event@6c08a39 转换为 flash.net.FileReference。

[ 本帖最后由 babymouse 于 2008-6-12 13:14 编辑 ]

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
file.addEventListener(Event.SELECT,selHandle);
file.addEventListener(Event.COMPLETE,comHandle);

function selHandle(event:Event) {
    var file1 : FileReference = event.target as FileReference;
    trace(flie1.name);
}
function comHandle(event:Event) {
}

大概这么写,自己试试

[ 本帖最后由 wwk501 于 2008-6-12 14:03 编辑 ]

TOP

回wwk501,谢谢你的回答,基本解决了

改成这样没有问题。
function selHandle(event:Event) {
        trace(event.target.name);
}

按照你写的还是有点问题。
错误
1120: 访问的属性 flie1 未定义。

要是按照你的写法,怎么写才能不错误呢?

[ 本帖最后由 babymouse 于 2008-6-12 14:13 编辑 ]

TOP

....

是拼写错误...

function selHandle(event:Event) {
    var file1 : FileReference = event.target as FileReference;
    trace(file1.name);
}

TOP

。。。 知道了,谢谢wwk501了。

脑袋都晕了。

TOP