javascript - 将图像从计算机拖到div?

标签 javascript

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

$('#cover-drop-zone').ondrop = function(e) {
    alert('drop');
    return false;
};

我有上面的JS。

这是我的 HTML。

<div id="cover-drop-zone" class="image-drop-zone"><i class="icon-plus"></i></div>

当我将图像从计算机拖到浏览器窗口时,在#cover-drop-zone 上没有任何反应。

如果我将 ondrop 的目标更改为窗口,它就可以工作。

但我不希望用户能够将图像拖到窗口中的任何位置。

我哪里错了?

最佳答案

存在一些跨浏览器的方法:

<div class="drop_panel"> 
  drop here 
  <input class="hidden_input" type="file" >
</div>

和 CSS:

.drop_panel {
  padding: 50px;
  position: relative;
}
.hidden_input {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
}

如果文件掉落触发 .hidden_​​input onChange 事件

关于javascript - 将图像从计算机拖到div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18917886/

相关文章:

javascript - WebGL:没有 VBO 绑定(bind)到启用的顶点。顶点索引需要 "vertexAttribPointer"吗?

javascript - 使用 JS 创建包含更多元素的 DOM 元素

javascript - 如何有条件地设置解构

javascript - Schema.org 本体作为 json

javascript - HTML5 和 CSS3 中的 iPhone 过渡和动画

javascript - jquery如何获取选中框的值

javascript - OR 运算符如何在此 javascript 中工作?

javascript - 如何通过 Javascript 中的一元运算符将数字转换为字符串?

javascript - 在输入字段内向 JavaScript 函数传递参数与从函数内部传递参数

javascript - 如何在构造函数中等待 Promise