我正在尝试构建一个包含多个放置区域的页面来上传文件。每个区域都有特定的参数来接受/上传不同类型的图像。我使用过jQuery filedrop。
一切顺利,只有一个独特的掉落区,但是有多个区域,只有最后一个区域有效。 您可以看到example here。
我不知道这是文件丢包的限制,还是我做错了。
有人可以帮助我吗?
答案 0 :(得分:0)
好的,我找到了解决方案的开始。
您可以为每个保管箱创建一个功能
$.fn.filedrop = function(options) {
opts1 = $.extend( {}, default_opts, options );
this.bind('drop', drop).bind('dragenter', dragEnter).bind('dragover', dragOver).bind('dragleave', dragLeave);
$(document).bind('drop', docDrop).bind('dragenter', docEnter).bind('dragover', docOver).bind('dragleave', docLeave);
};
为第一个下拉框创建var opts1
,然后为第二个dropbox创建var opts2
,依此类推......并在每个函数$.fn.filedrop
中替换var {{1} } opts
opts1
所以你有第一个下拉框的函数opts2
,第二个下拉框有一个$.fn.filedrop1
,依此类推。在每个函数中,您将drop函数绑定到每个$.fn.filedrop2
drop1
函数drop2
,并创建与dropbox一样多的drop函数。在每个drop函数中,您添加第一行,因此在每个drop上它将根据dropbox
this.bind('drop', drop2)
当然你根据每个dropbox function drop2(e) {
opts = opts2;
opts.drop(e);
files = e.dataTransfer.files;
if (files === null || files === undefined) {
opts.error(errors[0]);
return false;
}
files_count = files.length;
upload();
e.preventDefault();
return false;
}