以编程方式创建dropzone实例,jQuery无法正常工作?

时间:2014-08-08 22:42:53

标签: javascript jquery html dropzone.js

让Dropzone与jQuery一起使用时遇到了一些问题。我想知道是否有人可以提供帮助。

我已经尝试了jQuery版本1.11.1和2.1.1,但似乎都没有用。我已经使它与简单的Javascript一起工作但是,我计划做一些主要的脚本,并希望dropzone与jQuery一起使用,以保存一些变量,从创建传输数据。

Dropzone文档提到了一个jQuery插件。但是,我无法在源代码中找到它,它只在这里提到: http://www.dropzonejs.com/#toc_4 没有关于它实际位置的信息。

我计划将Dropzone与div而不是form一起使用,并且不涉及服务器代码。它是一个静态的一次性使用网页。目前我只是关注文档。

这是我的一些代码:

HTML

    <link href="css/dropzone.css" type="text/css" rel="stylesheet" />
    <script src="dropzone.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
    </script>
</head>

<body>
    <div id="dropthat" class="dropzone"></div>
    <script src="script.js"></script>

的jQuery

$(document).ready(function() {
    $("div#dropthat").dropzone({ url: "/file/post" });
    //Below is my older, working Javascript code, still here for comparison.
    //var myDropzone = new Dropzone("div#dropthat", { url: "/file/post" });
});

我确定我错过了一些非常小的东西,或者确实存在缺少jQuery插件文件的问题。有谁知道jQuery插件文件及其名称?我已经在dropzone的源文件中搜索jQuery,但无法找到任何内容。似乎Dropzone最初是作为jQuery插件制作的,并且最近才成为独立插件。或者它可能是我的jQuery版本。

如果最坏的情况发生,我总是可以使用JavaScript事件监听器而不是jQuery来获取变量。

1 个答案:

答案 0 :(得分:1)

我不完全确定你要求的是什么,但是如果你想知道你的库和JQuery之间的关系,那么只需查看源代码:

if (typeof jQuery !== "undefined" && jQuery !== null) {
    jQuery.fn.dropzone = function(options) {
      return this.each(function() {
        return new Dropzone(this, options);
      });
    };
  }

首先它会检查你的页面上是否已经加载了jQuery,如果它已经加载,那么它将自己作为插件附加,这意味着:为了使用jQuery插件,你需要确保你的jQuery库脚本在Dropzone之前运行。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<script src="dropzone.js"></script>

注意:
- 我查看了来自here的INSTALLATION部分中提供的源代码 - Git wiki(也许它会在开发过程中帮助你)