拖放文件时无重定向

时间:2018-10-12 13:10:55

标签: javascript drag-and-drop

我有一个矩形,可以放置一些文件。问题是,当我删除它们时,浏览器将重定向到该文件。我知道这很正常,但是由于我试图删除文件以便上传...

我发现e.preventDefault()应该是我要搜索的东西,但实际上没有用。

这是我的代码:

<div id="dropHere">
    <p>Drop your files here...</p>
  </div>

  <script>
    dropHere.addEventListener("drop", function(e) { e.preventDefault(); });
  </script>

我有一些我没有放在这里的代码(javascript和css)。 您能帮我弄清楚为什么e.preventDefault()不起作用吗? (应该吧?)

2 个答案:

答案 0 :(得分:0)

如果需要方法

dropHere.addEventListener("drop", function(e) { e.preventDefault(); });

正确加载到浏览器中,您需要执行以下操作:

<script>
window.onload = function() {
  dropHere.addEventListener("drop", function(e) { e.preventDefault(); });
};
</script>

这会将onload绑定到一个匿名函数,该匿名函数在调用时将使用您提供的任何参数运行所需的函数。 当然,您可以从匿名函数内部运行多个函数。

答案 1 :(得分:0)

即使您的回答没有用,也谢谢您

我终于弄清楚出了什么问题:为了将文件拖放到浏览器中,我需要对“ drop”和“ dragover”都执行e.preventDefault()

这可行:

dropHere.addEventListener("drop", function(e) { e.preventDefault(); });
dropHere.addEventListener("dragover", function(e) { e.preventDefault(); });

但是感谢您的帮助:)