【问题标题】:Dropzone.js init function() not being calledDropzone.js 初始化函数()没有被调用
【发布时间】:2014-03-04 10:40:01
【问题描述】:

我有这个 HTML:

<div id='drop_zone'>
  <div class="close_button" id="removeAllImages">Remove All</div>
  <form action="PHP/uploads.php" class="dropzone" id='fbDropZone'></form>
</div>

$(document).ready(function() {}中的这个Javascript

window.Dropzone;
Dropzone.autoDiscover = false;
$('#fbDropZone').dropzone = {
    init: function() {
     fbDropZone = this;
     $("#removeAllImages").click(function(){fbDropZone.removeAllFiles();})
    },
    paramName: "file",
    maxFilesize: 5,
    maxFiles : 1,
    autoProcessQueue : false,
};

但是init:function() 没有被执行。我可以将autoProcessQueue 转换为falsetrue,这样我就知道fbDropZone id 是正确的——但maxFiles 也被忽略了。我是否在某处做了一个愚蠢的语法错误..?我正在运行 Safari 7。

【问题讨论】:

  • 您使用的是哪种编程语言?
  • Javascript 与 Dropzone.js 的下载副本。

标签: javascript jquery dropzone.js


【解决方案1】:

事实证明,代码位置至关重要:dropzone 调用必须放在文档加载或准备函数之外(我猜你会称之为内联)。

【讨论】:

  • 我认为你为我节省了很多时间!
【解决方案2】:

检查您是否必须在 $(document).ready(...). 之外使用 Dropzone.autoDiscover = false

错误:

$(document).ready(function(){
  Dropzone.autoDiscover = false;
  $("#mydropzone").dropzone({
    init: function() {...}
   );
});

对:

Dropzone.autoDiscover = false;

$(document).ready(function(){
  $("#mydropzone").dropzone({
    init: function() {...}
   );
});

【讨论】:

    【解决方案3】:

    试试:

    Dropzone.autoDiscover = false;
    $("#mydropzone").dropzone({
        init: function() {
            var $this = this;
            $("button#clear-dropzone").click(function() {
                $this.removeAllFiles(true);
            });
        },
        paramName: "file",
        maxFilesize: 5,
        maxFiles : 1,
        autoProcessQueue : false
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 2014-04-07
      相关资源
      最近更新 更多