【发布时间】:2014-09-20 21:24:22
【问题描述】:
我正在尝试检测是否在 dragover 或 dragenter 事件中拖动了文件夹或文件。
例如:
在ondrop 事件中,有一个名为MouseEvent 的参数,它有一个名为dataTransfer 的字段,其中列出了文件(.files)或项目(.items),具体取决于浏览器,我可以在Chrome 和Firefox 中读到这一点。但是,对于 dragover 和 dragenter 事件,这些字段(.files 和 .items)为空。问题是我在拖动而不是拖放时需要这些信息。
注意:对于文件和文件夹,event.dataTransfer.types[i] === "Files" 是 true。
背景研究
我发现the following answer 部分适合我的问题:
WebKit 以及 Chrome 对您何时可以调用
getData有很大的限制。您不能在dragstart或dragover内进行操作。我认为这是典型的错误。
但这个答案是 2012 年的,我找不到关于该主题的实际更新信息,所以我正在寻找这方面的更新信息。
【问题讨论】:
-
我在这里找到了适合我的问题的答案 (stackoverflow.com/questions/9534677/…) 但现在是 2012 年,我找不到实际信息(
-
澄清或演示问题的最小工作示例可能有助于人们提供高质量的答案。
-
我的猜测是您根本无法做到这一点:如果我在浏览器窗口上将文件或文件夹拖到不相关的地方怎么办:我不希望随机网站收集有关如果它不是最终目标,我正在拖动的内容。
-
@KristinaKurshakova 你应该做正确的事并接受下面的答案。 Marco 提供了高质量的答案。
标签: javascript html drag-and-drop directory