我使用的jQuery插件有一个名为completeCallback
的事件。
在下一个代码中,我调用了以下函数:
// code before...
ui.completeCallback = function(success, data, errorCode) {
if (success) {
console.log(this);
}
};
// code after...
将其输出到控制台,我想访问突出显示的行:
我如何在<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输出:
答案 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('.'));
}