首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dropzone JS全局事件

Dropzone JS全局事件
EN

Stack Overflow用户
提问于 2015-11-04 03:00:16
回答 3查看 1.7K关注 0票数 0

我可能弄错了,但Dropzone JS似乎以一种非常奇怪的方式做事情。http://www.dropzonejs.com/#events

这是推荐的添加事件的方法

代码语言:javascript
运行
复制
Dropzone.options.myAwesomeDropzone = {
  init: function() {
    this.on("addedfile", function(file) { alert("Added file."); });
  }
};

这里假设您知道myAwesomeDropzone是什么。但是如果你以编程的方式创建它们,那么你可能不知道什么是myAwesomeDropzone。它可以是任何东西,例如,如果你基于某个ID在页面上有三个不同的Dropzones,那么标识符将不是myAwesomeDropzone,甚至不是可猜测的。

如果能够做到这一点,那就很方便了

代码语言:javascript
运行
复制
$(".dropzone").on("addedfile", function(file) {
    alert("hello");
});

但它不起作用。我只希望能够将全局事件附加到我所有的dropzones。

EN

回答 3

Stack Overflow用户

发布于 2015-11-04 15:27:17

如果在同一页面中有多个dropzones,并且需要每个dropzones都有不同的配置,则必须分别初始化每个dropzones。正如我所看到的,您正在使用jQuery,知道您也可以使用dropzone中已经包含的dropzone jQuery插件来初始化Dropzone元素。

例如,假设每个dropzone接受不同的文件类型:

代码语言:javascript
运行
复制
Dropzone.autoDiscover = false;

$("#dropzone1").dropzone({
  url: 'urlForDropzone1.php', 
  acceptedFiles: 'application/pdf',
  init: function(){
    this.on("addedfile", function(file) { 
    alert("Added" + file.name + " on Dropzone 1."); 
    }),
    this.on("success", function(file) {
        alert(file.name " Uploaded from Dropzone 1")
    })
  }
});

$("#dropzone2").dropzone({
  url: 'urlForDropzone2.php', 
  acceptedFiles: 'image/*,.jpeg,.jpg,.png,.gif',
  init: function(){
    this.on("addedfile", function(file) { 
    alert("Added" + file.name + " on Dropzone 2."); 
    }),
    this.on("success", function(file) {
        alert(file.name " Uploaded from Dropzone 2")
    })
  }
});

请注意,首先您需要禁用自动发现功能,然后分别初始化每个dropzone,url是可选的,如果您在html中已经有它们,则不需要包含它们。

票数 1
EN

Stack Overflow用户

发布于 2015-11-04 03:22:11

你可以添加dropzone,和你的第二个代码片段非常相似。在初始化dropzone时直接附加配置。

代码语言:javascript
运行
复制
  new Dropzone(".dropzone", {
                    url: 'someUrl',
                    addedfile: function () {
                        alert('Hallo');
                    }
                });
票数 0
EN

Stack Overflow用户

发布于 2015-11-04 15:42:50

下面的工作,我的问题是,我有两次包含dropzone.js,这使得Dropzone.autoDiscover = false;被忽略。

代码语言:javascript
运行
复制
Dropzone.autoDiscover = false;

$(".dropzone").on("addedfile", function(file) {
    alert("hello");
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33507014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档