检测单个或多个文件拖动

时间:2012-04-30 11:33:32

标签: jquery html5 drag-and-drop

我构建了一个允许拖放的文件上传。 我可以检测文件被拖动到可拖动元素上的时间,我的问题是: 有没有可能一旦我检测到一个文件被拖过元素 - 如果它的1个文件或多个文件? (我想只允许单个文件上传 - 不允许用户删除多个文件)。

非常感谢你的帮助,

美好的一天。

2 个答案:

答案 0 :(得分:3)

如果您使用jQuery注册drop处理程序,则详细信息位于ev.originalEvent属性中:

function drop(ev) {
    int n = ev.originalEvent.dataTransfer.files.length;
}

但是,在实际删除文件之前,这将无法使用 - dragenter事件不会填充该属性。

答案 1 :(得分:0)

试试这个

 for (var i = 0; i < dragItems.length; i++) {
  addEvent(dragItems[i], 'dragstart', function (event) {
    // store the ID of the element, and collect it on the drop later on
    event.dataTransfer.setData('Text', this.id);
  });