精细上传器中的嵌套dropzones上传文件两次

时间:2013-11-19 02:46:11

标签: javascript drag-and-drop fine-uploader

我有一个要求,我们需要一个额外的dropzone(在一个表行),但容器div也需要一个dropzone。如果我将文件拖放到表格行中,有没有办法阻止fineuploader上传文件两次?

1 个答案:

答案 0 :(得分:0)

我认为我们还没有遇到过嵌套放置区要求。因此,在目前的状态下,这是行不通的。这是因为drop事件会从内部放置区域冒泡到父级放置区域。 Fine Uploader不会阻止掉落事件冒泡。也许它应该。在代码中解决之前,我将不得不研究防止丢弃事件传播的后果。

open up a feature request in the Github project's issue tracker,以便我们进一步讨论。在此期间,您可以尝试通过在拖放结束时更改以下代码来解决此问题。来自:

的drop module(dnd.js
disposeSupport.attach(element, 'drop', function(e){
    if (!isOrSetDropDisabled()) {
        if (!isValidFileDrag(e)) {
            return;
        }

        e.preventDefault();
        options.onDrop(e);
    }
});

...为:

disposeSupport.attach(element, 'drop', function(e){
    if (!isOrSetDropDisabled()) {
        if (!isValidFileDrag(e)) {
            return;
        }

        e.preventDefault();
        e.stopPropagation();
        options.onDrop(e);
    }
});

我没有测试过上述理论,但似乎这会解决你的问题。我明天可以仔细看看。