我为FineUploaderBasic类创建了一个包装器,以便将它与我现有的系统连接起来,当调用onComplete函数时,它在FineUploaderBasic元素的范围内调用,而不是父元素。
如何更改此内容或访问FineUploaderBasic实例的父级?
我已经使用ExtJs编写代码作为Follow's,我试图在FineUploader上传完成后触发我自己的上传完成事件。但是,在FineUploader实例的范围内调用了“onUploadComplete”函数,我无法访问自己的对象。
Ext.define('X4.Core.FileUploader', {
mixins: {
observable: 'Ext.util.Observable'
},
uploader: null,
constructor: function (config) {
this.initConfig(config);
this.mixins.observable.constructor.call(this, config);
this.addEvents({
/**
* Event which is triggered once the file upload has been completed successfully.
*
* @since X4 4.1.1
*/
"uploadcomplete": true
});
return this;
},
getUploader: function () {
var me = this;
if (me.uploader === null) {
me.uploader = new qq.FineUploaderBasic({
autoUpload: false,
request: {
endpoint: '/_system/x4/commands/file_uploader.ashx'
},
callbacks: {
onComplete: me.onUploadComplete
}
});
}
return me.uploader;
},
onUploadComplete: function(id, name, response) {
var me = this;
alert('upload complete ' + id + ' ' + name + ' ' + response);
me.fireEvent('uploadcomplete', me.callbackScope, id, name, response);
},
addFile: function (fileInput) {
var me = this;
return me.getUploader().addFiles(fileInput.extractFileInput());
},
upload: function () {
var me = this;
me.getUploader().uploadStoredFiles();
}
});
答案 0 :(得分:0)
由于您没有提供有关您的问题的任何具体信息,我将不得不提供一个非常通用的答案。此外,既然你没有指定你是否使用jQuery插件,我将不得不假设你不是。
所以,你的问题的答案实际上与Fine Uploader无关。假设您使用的是无依赖版本,Fine Uploader将对每个回调/事件处理程序的调用上下文设置为关联的Fine Uploader实例。您要求的是“parent”元素,表面上是您为element
选项指定的值的父元素。
您可以通过节点的parentNode
属性确定任何元素/节点的父节点。