javascript-为什么jQuery File Upload插件的流程事件不触发?

我对jQuery File Upload插件有一个奇怪的问题.
如果我使用这个西塔克斯:

$('fileupload').fileupload({
  url: myurl,
  add: function(e, data){
    console.log("add event");
  },
  processalways: function(e, data){
    console.log("processalways event");
  }
});

processalways事件不会发生,但是我得到了正确的data.context变量(即具有添加文件进度条的div).

当我用这个罪过

$('fileupload').fileupload({
  url: myurl
}).on('fileuploadadd',function(e, data){
    console.log("add event");
}).on('fileuploadprocessalways', function(e, data){
    console.log("processalways event");
});

processalways事件正确发生,但是我得到了错误的data.context(我认为在这种情况下data.context将始终引用$(‘fileupload’)元素.

我需要过程事件和data.context变量.我能怎么做?

解决方法:

第一种语法

如果要启动该过程,则必须调用data.submit();.进入添加功能.

然后,您将无法调用processalways回调,始终应使用according to the documentation

$('input').fileupload({
    url: "/echo/json",
    add: function (e, data) {
        console.log("Add callback");
        $('#start_upload').click(function(){
            data.submit();
        });
    },
    always: function (e, data) {
        console.log("Always callback");
    }
});

第二种语法

我从未使用过它,但是如果它可以工作,那是因为fileuploadd不存在.因此,这是使用的默认fileuploadadd,它可能会调用data.submit().

上一篇:python-访问绑定到事件的函数的返回值(tkinter)


下一篇:javascript-纸张对话是否存在“ onOpen”事件?