2014-02-25 17 views
5

Ich benutze dropzone.js und lade es mit Ajax.Dropzone.js und ajax

Mein Menü ID = "#menu" Die Upload-Datei in "# div1"

Die Callback-Funktion funktioniert nicht angezeigt werden soll. Ich habe Dropzone.discover durch alert ("test") ersetzt;

(document).ready(function() { 

    $("#menu").click(function(){ 

    $("#div1").load("upload.php",null, function(){ 
     Dropzone.discover(); 
    }); 

Hinweis: Ich habe den folgenden Code versucht, aber es hat nicht funktioniert.

$("#div1").load("upload.php", function(){ 
    Dropzone.discover(); 
}); 
+1

+1 für die Frage und den Beispielcode, wie ich heute über Dropzone.discover() erfahren. Haben Sie immer noch Probleme? –

+0

Ist # div1 wirklich vorhanden? Wie gesagt, http://stackoverflow.com/a/18420091/2049986, sollte der letzte Beispielcode einfach funktionieren. –

Antwort

2

sollten Sie Dropzone auf #dive definieren und Ihre Ereignisse in init-Funktion von Dropzone hinzufügen, um die Optionen zu jedem #menu Zusammenhang zu ändern. Es ist der beste Weg.

Vordergrund Beispiel:

var myDropzone = new Dropzone("#div1",{ 
    url: '/test.php', 
    acceptedFiles: "image/*", 
    addRemoveLinks: true, 
    removedfile: function(file) { 
     $.get('remove.php',function(data){ 
      var _ref; 
      return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0; 
     }); 
    }, 
    init: function() { 
     var thisDropzone = this; 
     $('body').on('click','a.menu',function(event){ 
      href = $(this).attr('href'); 

      thisDropzone.options.url = href; 
     }); 

     $("body").on('click','#btnRemoveAll',function() { 
       thisDropzone.removeAllFiles(); 
      } 
     ); 

    } 
}); 
5

hatte ich ein Problem eine Dropzone erhalten, die über Ajax geladen wurde, zu arbeiten und entdeckt, dass das Hinzufügen der Dropzone.discover(); nennt es für mich fixiert.

Verwandte Themen