2014-01-06 5 views
0

Я использую dropzone как плагин jquery, поэтому я не использовал экземпляр.Невозможно вызвать метод выделения капельницы

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

Я использовал этот метод.

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

Но мне нужно сделать это:

myDropzone.emit("addedfile", jsonFile); 

Я попытался

$("div#myId").emit("addedfile", jsonFile); 

и я попытался

var myDropzone= $("div#myId").dropzone({ url: "/file/post" }); 

myDropzone.emit("addedfile", jsonFile); 

Я чувствую, что это какой-то базовое ядро ​​в моем понимании того, как эти вещи работают так, lanation моей ошибки также будет высоко оценен.

Большое спасибо,

Пол

+0

Был только один, я исправил это сейчас. Было немало, когда я отправил, поскольку я был на flaky ios, но я отредактировал его немедленно. Вы внесли этот комментарий сразу после его публикации? Я больше не вижу. – Tofuwarrior

+0

Уверенный, что выглядит лучше – Hogan

ответ

2

Dropzone.forElement("div#myId").emit("addedfile", jsonFile);

+0

Спасибо за ваш ответ, когда я это сделаю: 'Dropzone.forElement (" # myId "). Emit (" addedfile ", jsonFile);' Я получаю: TypeError: Аргумент 1 из Node.appendChild is а не объект. Есть идеи? – Tofuwarrior

+0

Попробуйте сначала назначить элемент dropzone для объекта: var myDropzone = Dropzone.forElement («myId»); «Затем используйте консольный журнал, чтобы проверить, правильно ли он назначает его, а затем оттуда оттуда. – DanJGer

+0

извините за задержку, вернувшись к этому, я буду смотреть на него снова, чтобы я мог принять ваш ответ. – Tofuwarrior

0

Я создал функцию следующим образом:

function foo(dz) { 
    var jsonFile = {name: 'moo', size: 10} 
    dz.emit('addedfile', jsonFile) 
} 

И назвал это так:

$('#mydrop').dropzone({ 
    url: '/foo/bar', 
    init: function() { 
    var dz = this 
    foo(dz) 
    } 
}) 

И тогда я смог испускать события изнутри foo()

Посмотрите на enyo's comment on jQuery instancing: Accessing Dropzone object.

Смежные вопросы