tag obtener elemento ejemplo attribute javascript jquery dropzone.js

javascript - elemento - Obtener instancia/objeto de Dropzone usando jQuery



title html attribute (5)

Uso jQuery para trabajar con Dropzone. p.ej

$("#mydropzone").dropzone({ /*options*/ });

Necesito obtener la instancia de Dropzone para poder llamar a este método:

myDropzone.processQueue()

¿Cómo puedo conseguir esto? ¿Es posible?

en otras palabras, ¿cómo puedo inicializar la zona de arrastre usando

$("#mydropzone").dropzone({ url: "/file/post" });

pero al mismo tiempo, obtenga la instancia del objeto como si lo inicializara usando:

var myDropzone = new Dropzone("#mydropzone", { url: "/file/post"});

así que puedo llamar:

myDropzone.processQueue()

Muchas gracias.


Como se describe en el número 180

También puede utilizar la función integrada en Dropzone.forElement .

var myDropzone = Dropzone.forElement("#mydropzone");


Como se indicó anteriormente, puede usar el elemento de Dropzone para el forElement , que a su vez solo comprueba element.dropzone , donde ''element'' es el nativo (no jquery obj). Entonces, para combinar, resumir, explicar y expandir las respuestas anteriores, puede hacer lo siguiente:

var element = $("#mydropzone")[0]; // this is the way jquery gives you the original dom

O mejor, en un simple js:

var element = document.querySelector("#mydropzone");

entonces consigue la zona de caída como esta:

element.dropzone

O, más conciso (llano js aquí):

var dzone = document.querySelector("#mydropzone").dropzone

Solo para referencia, la fuente de forElement actual de forElement :

Dropzone.forElement = function (element) { if (typeof element === "string") { element = document.querySelector(element); } if ((element != null ? element.dropzone : undefined) == null) { throw new Error("No Dropzone found for given element. This is probably because you''re trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone."); } return element.dropzone; };


La secuencia de comandos parece agregar un objeto de zona de dropzone al element dado. Así que puedes hacer algo como esto:

var $dropZone = $("#mydropzone").dropzone({ /*options*/ }); // ... $dropZone[0].dropzone.processQueue();


Una forma sencilla de acceder a la instancia con jQuery, si ya se ha inicializado:

var dropzone = $(this).get(0).dropzone;


parece simple con Dropzone. las instancias verifican con el id del elemento:

function fn_check_has_dropzone_instances(id){ var found = false; Dropzone.instances.forEach(function(item,index){ if($($(item)[0].element).attr(''id'').trim()==id.trim()){ console.log(id); found = true; } }); return found; }