JavaScript HTML5:类似gmail的上传界面的拖放问题

JavaScript HTML5:类似gmail的上传界面的拖放问题,javascript,jquery,html,file-upload,drag-and-drop,Javascript,Jquery,Html,File Upload,Drag And Drop,我的界面截图: 树的每个元素都是一个和一个 每个文件夹都是文件上传的dropzone,就像gmail上传拖放一样 当我从计算机中“拖动enter”到包含文件的文件夹时,我添加了一个样式: 此操作的代码: var dropZoneElement = document.getElementById($this.attr('id')); dropZoneElement.addEventListener('dragenter', onDragEnter, false); dropZoneEleme

我的界面截图:

树的每个元素都是一个
  • 和一个

    每个文件夹都是文件上传的dropzone,就像gmail上传拖放一样

    当我从计算机中“拖动enter”到包含文件的文件夹时,我添加了一个样式:

    此操作的代码:

    var dropZoneElement = document.getElementById($this.attr('id'));
    
    dropZoneElement.addEventListener('dragenter', onDragEnter, false);
    dropZoneElement.addEventListener('dragleave', onDragLeave, false);
    dropZoneElement.addEventListener('drop', onDrop, false);
    
    function onDragEnter(event) {
      event.preventDefault();
      event.stopPropagation();
      $this.addClass('gmail-like');
    }
    
    function onDragLeave(event) {...}
    function onDrop(event) {...}
    
    但问题是,当我在文件夹上拖动一个链接(
    )时(即使是没有目的地的伪链接
    test
    ,请参见屏幕截图),页面会添加要上传的样式(没有上传,只是视觉上的):

    • 为什么?
    • 有没有办法禁用这个

    我希望仅当我从计算机拖放文件时,该样式才适用。

    基本上,您需要检查
    拖动数据项类型,并验证该类型确实是一个文件,而不是其他文件。此外,您还可以禁用

    请看描述拖放过程的示例。也可以提供一些帮助

    最后,这个问题应该给你一些具体的提示