Javascript Dropzone:绑定到init
我继续将现有文件模拟为支持Dropzone的表单,但在连接到Javascript Dropzone:绑定到init,javascript,jquery,file-upload,dropzone.js,jquery-events,Javascript,Jquery,File Upload,Dropzone.js,Jquery Events,我继续将现有文件模拟为支持Dropzone的表单,但在连接到init函数时遇到了问题。以下是我目前掌握的情况: var imageUpload; if ($('.js-listing__images-upload').length) { imageUpload = new Dropzone('.js-listing__images-upload', { addRemoveLinks: true, maxFiles: 5, maxFilesize: 3, ac
init
函数时遇到了问题。以下是我目前掌握的情况:
var imageUpload;
if ($('.js-listing__images-upload').length) {
imageUpload = new Dropzone('.js-listing__images-upload', {
addRemoveLinks: true,
maxFiles: 5,
maxFilesize: 3,
acceptedFiles: 'image/jpeg,image/png,image/gif'
});
imageUpload.on('init', function() {
var listingID, thisDropzone;
console.log('dropzone init');
thisDropzone = this;
listingID = $('#manage-images').data('listing');
$.ajax({
url: dashboard.images.list,
data: {
listing: listingID
},
success: function(data) {
console.log('ajax for list done');
$.each(data, function(key, value) {
var mockFile;
mockFile = {
name: value.name,
size: value.size
};
thisDropzone.options.addedfile.call(thisDropzone, mockFile);
thisDropzone.options.thumbnail.call(thisDropzone, mockFile, '/uploads/thumb/listings/' + value.name);
});
}
});
});
}
我的console.log()
中没有一个出现问题,但我不确定问题出在哪里。在Dropzone的配置之后,我应该能够使用机制上的简单钩住事件。谢谢大家
更新
以下方法确实有效:
# When images are removed
# Dropzone
imageUpload.on 'removedfile', (file) ->
if file.xhr
imageID = JSON.parse file.xhr.response
$.ajax
url: dashboard.images.destroy
data: { image: imageID }
success: () ->
return
因此,我对init
函数有些问题。可以将init
函数直接绑定到新的Dropzone实例化:
if $('.js-listing__images-upload').length
imageUpload = new Dropzone(
'.js-listing__images-upload',
addRemoveLinks: true
maxFiles: 5
maxFilesize: 3
acceptedFiles: 'image/jpeg,image/png,image/gif'
init: ->
thisDropzone = this
$.ajax
url: dashboard.images.list
data: { listing: $('#manage-images').data('listing') }
success: (data) ->
$.each data, (key, value) ->
mockFile =
name: value.name
size: value.size
thisDropzone.options.addedfile.call thisDropzone, mockFile
thisDropzone.options.thumbnail.call thisDropzone, mockFile, '/uploads/thumb/listings/' + value.name
return
return
return
)
什么是$('.js-listing__images-upload')。长度
计算为?另外,运行此代码时DOM准备好了吗?这是否在您的$(function(){//code here})
?Hi@arjabbar我对.js-listing\uuu images-upload
的检查结果为true;所以我们在那里很好。我把所有的东西都包装在一个自我包装的匿名函数中。使用它有什么问题吗?谢谢