代码之家  ›  专栏  ›  技术社区  ›  brevleq

Dropzone。js-单击dropzone元素时不会发生任何事情

  •  1
  • brevleq  · 技术社区  · 6 年前

    我正在尝试添加 Dropzone 我对这个组件感到非常痛苦:无论我做什么,当我在dropzone的元素中单击或删除文件时,都不会发生任何事情。

    <form id="registerUserForm" onsubmit="return submitForm()" class="mt-5">
    
        <div id="dropzoneDiv" class="dropzone dz-clickable">
            <div class="dz-default dz-message">
                <span>Drop files here to upload</span>
            </div>
         </div>
            .
            .
            .
    </form>
    

    如您所见,我正在javascript中配置Dropzone:

    var dropzone=null;
    
    $(document).ready(function () {
        Dropzone.autoDiscover = false;
        dropzone=$("#dropzoneDiv").dropzone({
            url: "/api/works/upload",
            acceptedFiles: 'image/*,video/*',
            autoProcessQueue: false,
            createImageThumbnails: true,
            addRemoveLinks: true
        });
    });
    
    function submitForm() {
        dropzone.processQueue();
        return false;
    }     
    

    组件已正确渲染,但简单不起作用:

    enter image description here

    我是不是做错了什么我没有注意到的事?

    2 回复  |  直到 6 年前
        1
  •  2
  •   brevleq    6 年前

    我偶然找到了解决方案,问题是$(文档)。ready()语句。如果删除此侦听器并直接使用dropzone配置调用,则该组件可以正常工作:

    var dropzone = null;
    
    Dropzone.autoDiscover = false;
    dropzone = $("#dropzoneDiv").dropzone({
        url: "/api/works/upload",
        acceptedFiles: 'image/*,video/*',
        autoProcessQueue: false,
        createImageThumbnails: true,
        addRemoveLinks: true
    });
    
    function submitForm() {
        dropzone.processQueue();
        return false;
    }
    
        2
  •  0
  •   Basel Issmail Abdul Hadee    6 年前

    尝试使用 JQuery 2.*, 如果您正在使用 JQuery &燃气轮机;3.

    var dropzone=null;
    
    $(document).ready(function () {
        Dropzone.autoDiscover = false;
        dropzone=$("#dropzoneDiv").dropzone({
            url: "/api/works/upload",
            acceptedFiles: 'image/*,video/*',
            autoProcessQueue: false,
            createImageThumbnails: true,
            addRemoveLinks: true
        });
    });
    
    function submitForm() {
        dropzone.processQueue();
        return false;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.1.1/min/dropzone.min.css" rel="stylesheet"/>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.1.1/min/dropzone.min.js"></script>
    
    <form id="registerUserForm" onsubmit="return submitForm()" class="mt-5">
    
        <div id="dropzoneDiv" class="dropzone dz-clickable">
            <div class="dz-default dz-message">
                <span>Drop files here to upload</span>
            </div>
         </div>
    </form>