dropzone.js 在没有放置区的页面上出现错误 "Invalid dropzone element"

dropzone.js is giving error "Invalid dropzone element" on page without a dropzone

我正在使用 dropzone js,它在我需要 dropzone 的页面上运行良好。在任何其他页面上,虽然它给我 "Invalid dropzone element" 错误消息并导致我的其他 javascript.

出现问题

我有一个自定义 JS 文件(在 dropzone.js 文件之后立即加载)并且在文件的最顶部我有以下代码行:

Dropzone.autoDiscover = false;

这应该会阻止它查看我未以编程方式启用它的任何页面。该错误仅在存在有效拖放区的页面上消失。

我还在 dropzone.js 的第 1470 行设置了以下代码,以尝试在那里启用它:

Dropzone.autoDiscover = false;

我怎样才能摆脱这个错误?

使用纯 JS 你可以试试这个:

if (document.getElementById('DropzoneElementId')) {
  var myDropzone = new Dropzone("div#DropzoneElementId", { url: "/file/post"});
  // other code here
}

或者如果您使用 jQuery:

if ($('#DropzoneElementId').length) {
  $("div#DropzoneElementId").dropzone({ url: "/file/post" });
  // other code here
}

很久以前但是:将脚本放在表单元素之后,错误就消失了。

使用jQuery,不需要检查目标元素是否存在。

$(".my_element").dropzone(dropzone_options);