4

我用 Jquery 读取输入中的文件

<INPUT TYPE=FILE id="file" NAME="upfile" multiple>

使用此代码

$('#inputFile').on('change', 'body', (e) => {
  var files: any = e.currentTarget.files;  });

但是打字稿不知道 e.currentTarget 在这种情况下具有 poperty 文件。并给我一个编译错误。

我该如何解决这个问题?

提前致谢

4

3 回答 3

3
$('#input-container').on('change', null, (e) => {
    var input = <HTMLInputElement>e.target;
    var files = input.files; //give you intellisense on files
});
于 2016-05-16T16:31:51.420 回答
1

jQuery.On有不同的两个重载(1.8 版)。您使用了错误的重载方法。使用正确的

如果您没有任何要传递的数据,请将您的代码更改为

$('#inputFile').on('change', 'body', null, (e) => {
var files: any = e.currentTarget.files;  });
于 2013-01-30T13:10:21.250 回答
0

类似于@michael-tranchida,但我认为更简洁:

export class Page {
    public fileToUpload:File = null;

    constructor(public fileInput: JQuery, public fileDetails: JQuery) {
        $(fileInput).on('change', (e) => {
            this.fileToUpload = <File>$(e.target).prop('files')[0];
            $(fileDetails).html(this.fileToUpload.name); // intellisense on fileToUpload
        });
    }
}
于 2016-09-26T01:12:13.527 回答