1 回答
TA贡献1775条经验 获得超8个赞
更新
你需要使用
dropTotal+=dropFileSizes[file].size;
如果您想查看工作示例,请查看此小提琴
dropFileSizes是一个对象,而不是一个数组,所以你需要使用里面的文件变量$.each作为索引并相应地访问文件dropFileSizes[file].size;
或者
如果你想在同一个地方的文件,你需要把key成$.each如下
$.each(dropFileSizes, function(key, file){
dropTotal+=file.size;
});
小提琴
但是,请考虑未定义和空值的可能性
试试这个方法
$.each(dropFileSizes, function(file){
dropTotal+= (dropFileSizes[file].size || 0);
// or dropTotal+=(file.size || ) if you are using function(key, file){};
});
在您的代码中,如果 dropFileSizes[file].size包含数字数学运算以外的其他内容将失败,这将导致NaN您dropTotal将成为NaN;
如果你使用dropTotal+= (dropFileSizes[file].size || 0);它会使用 0 代替如果其他东西,例如null或undefined遇到
并dropTotal在函数之外获取的值
您需要确保,该语句console.log(dropTotal);在调用后执行toggleUploadButton()
添加回答
举报
