HTML5拖放

时间:2011-08-23 13:13:23

标签: javascript html html5 drag-and-drop plupload

我正在尝试使用dataTransfer.getData(http://html5demos.com/drag-anything)设置HTML5拖放,它将任何文本读入放置窗口并使用plupload(http://www.plupload.com )保存该数据。

当前代码:

if (getDataType.checked == false && e.dataTransfer.types) {
    li.innerHTML = '<ul>';
    [].forEach.call(e.dataTransfer.types, function (type) {
      li.innerHTML += '<li>' + entities(e.dataTransfer.getData(type) + ' (content-type: ' + type + ')') + '</li>';
      if (e.dataTransfer.types == 'Files') {
          li.innerHTML += '<li>' + entities(e.dataTransfer.getData(type) + ' (uploadable: ' + type + ')') + '</li>';
      }
    });
    li.innerHTML += '</ul>';

  } else {
    // ... however, if we're IE, we don't have the .types property, so we'll just get the Text value
    li.innerHTML = e.dataTransfer.getData('Text');
  }

我需要帮助将dataTransfer.getData的输出带到plupload,而dropzone知道文件和文本片段之间的区别。

修改 围绕我尝试的内容添加更多上下文。 1.如果删除的项目是文件,则使用if语句执行某些操作。这不起作用,因为(我相信)项目已被删除,因此无法上传 2.获取dataTransfer.files但不存储可上传的文件并杀死该片段的动态写入。

我认为解决方案涉及在开始时查询已删除的项目,然后使用plupload作为文件,使用dataTransfer.getData作为片段 - 问题是我不知道如何执行此操作。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

您可以将另一个事件绑定到plupload droparea。在该事件上检查它是否是一个片段,如果是,那么使用该片段做你想要的。否则只需让plupload处理文件拖放。

www.plupload.com上有很多例子,他们也有一些非常好的论坛。

此外,我在此处撰写了一篇博文http://www.foliotek.com/devblog/plupload-custom-file-upload-ui/,其中展示了如何使用Plupload绑定使用拖放区域的自定义UI来管理文件上传。

希望有帮助...