JavaScript的HTML5:问题与拖 - 放一个Gmail般的上传界面
问题描述:
我的界面截图:JavaScript的HTML5:问题与拖 - 放一个Gmail般的上传界面
树的每个元素都是一个<li>
和<a>
。
每个文件夹都是文件上传的dropzone,就像gmail上传拖放一样。
当我与我的机器文件的文件夹上的“拖输入”,我添加一个样式:
的代码如下:
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
,见截图),页面添加样式上传(没有上传,它只是可视化):
- 为什么?
- 任何想法禁用此?
我想样式只适用于从我的机器上拖放文件。
答
基本上,你需要检查drag data item kind
并验证确实是一个文件,而不是别的。此外,您可以禁用
看看描述拖动&删除过程的HTML5 draft。 This tutorial也可能会提供一些帮助。
最后,following SO问题应该给你一些具体的提示。