访问javascript关于已完成事件的功能的数据

时间:2014-08-11 11:38:03

标签: javascript jquery

我使用的jQuery插件有一个名为completeCallback的事件。

在下一个代码中,我调用了以下函数:

// code before...
    ui.completeCallback = function(success, data, errorCode) {
        if (success) {              
            console.log(this);
        }
    };
// code after...

将其输出到控制台,我想访问突出显示的行:

enter image description here

我如何在<function scope>&gt;上执行此操作? Closure? 我知道如何访问this.id这样的返回cbigtzl的内容。

感谢您的帮助

====更新====

Here is a website demonstrating this plugin named DamnUploader for jQuery .js的源代码就在这里 - 几乎与我的相同:http://safron.su/playground/damnUploader/demo-bootstrap/js/uploader-setup.js 。搜索ui.completeCallback部分

====更新2 ==== 这是一个console.log输出: enter image description here

1 个答案:

答案 0 :(得分:1)

plugin's github中向下滚动显示了此示例。我假设您的// code before....on('du.add',这意味着它应该通过this.file.name访问。

$fileInput.on('du.add', function(e) {
    console.log('File added: ' + e.uploadItem.file.name);
    e.uploadItem.completeCallback = function(succ, data, status) {
        console.log(this.file.name + " was uploaded. Recieved data: ", data)
    };
});

同样在第二个链接的来源中,您可以看到使用filename填充的变量ui.completeCallback

var filename = ui.file.name || ""; // Filename property may be absent when adding custom data

// We can call preventDefault() method of event to cancel adding
if (!isTextFile(ui.file) && !isImgFile(ui.file)) {
    log(filename + ": is not image. Only images & plain text files accepted!");
    e.preventDefault();
    return ;
}

// We can replace original filename if needed
if (!filename.length) {
    ui.replaceName = "custom-data";
} else if (filename.length > 14) {
    ui.replaceName = filename.substr(0, 10) + "_" + filename.substr(filename.lastIndexOf('.'));
}