JavaScript的HTML5:问题与拖 - 放一个Gmail般的上传界面

问题描述:

我的界面截图:JavaScript的HTML5:问题与拖 - 放一个Gmail般的上传界面

enter image description here

树的每个元素都是一个<li><a>

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

当我与我的机器文件的文件夹上的“拖输入”,我添加一个样式:

enter image description here

的代码如下:

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) {...} 

但问题是当我在一个文件夹上拖动一个链接(<a>)(即使是没有目的地的假链接test,见截图),页面添加样式上传(没有上传,它只是可视化):

enter image description here

  • 为什么?
  • 任何想法禁用此?

我想样式只适用于从我的机器上拖放文件。

基本上,你需要检查drag data item kind并验证确实是一个文件,而不是别的。此外,您可以禁用

看看描述拖动&删除过程的HTML5 draftThis tutorial也可能会提供一些帮助。

最后,following SO问题应该给你一些具体的提示。