【问题标题】:How to change the target element of a dropped file?如何更改拖放文件的目标元素?
【发布时间】:2016-09-24 21:24:55
【问题描述】:

我正在网站上添加拖放支持。我有一个 div,您可以在其中删除文件并上传它们,但如果您不将文件拖放到该特定 div 中,则该文件将加载到浏览器中(默认行为) 所以,问题: 有什么方法可以将文件放在页面的任何部分并将相同的事件发送/触发到文件上传的特定 div?

我有一个反应组件,当您将任何内容放入 div 时,它会处理文件上传,所以,我正在考虑类似这样的代码来避免在页面中拖放,但不是避免,而是将事件发送到另一个元素,比如说<div id="dropzone"></div>

window.addEventListener("dragover",function(e){
  e = e || event;
  e.preventDefault();
},false);
window.addEventListener("drop",function(e){
  e = e || event;
  e.preventDefault();
},false);

【问题讨论】:

    标签: javascript reactjs drag-and-drop


    【解决方案1】:

    您可以将drop 事件附加到<body> 元素,调用处理带有event.dataTransfer.files 和可能event 文件的函数作为参数。

    【讨论】:

    • 我更新了这个问题,遗憾的是我没有一个简单的javascript函数来做,所有的逻辑都在一个dropzone组件中,这就是为什么我试图找到一种方法来触发drop进入另一个div...否则,由于放置区域非常小,我可能不得不重新考虑html结构
    • @Polak 不确定您的意思?没试过reactjs。为什么不能在drop 事件中调用处理文件的函数?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2010-11-12
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多