javascript - 为什么 ondrop 不起作用?

标签 javascript events drag-and-drop

我试图让拖放工作,但我正在将一个函数连接到“ondrop”事件,但该函数从未被调用。

这是一个Plunker:http://plnkr.co/edit/qGEdYO8okRZAR3bnZrNk?p=preview

这是简单的接线示例:

<script>
var holder = document.getElementById('holder');

holder.ondragenter = function (e) { 
    this.className = 'nicenice lvl-over'; 
    return false; 
};
holder.ondragleave = function () { 
    this.className = 'nicenice'; 
    return false; 
};
holder.ondrop = function (e) {
    e.preventDefault();
    console.log("GOT DROP EVENT");
    alert("dropped here");
};
</script>

我把警报放在那里只是为了看看我是否能得到一些关于得到 drop 事件的迹象。我添加了 ondragenter 和 ondragleave 主要是为了看看我是否收到了任何事件。我似乎得到了那些事件。我遗漏了什么是接收丢弃事件所必需的?还需要什么其他魔法?

我的目标是将它与 AngularJS Hook ,但我需要简化才能在这里提出问题。

最佳答案

这是唯一剩下的魔法:

holder.ondragover = function (e) { 
  e.preventDefault() 
}

plunkr

关于javascript - 为什么 ondrop 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32084053/

相关文章:

java - 如何更改单个 JTree 节点的样式(颜色、字体)

javascript - 如何在 jQuery 中启用/禁用表格行

javascript - 添加倒计时,使用 jquery。弄乱了页面。我究竟做错了什么?

javascript - 首次单击后删除放置的 jquery 单击事件监听器

java - 未调用 OnItemClickListener

angular - 在 ng2-dragula 中询问删除确认

JavaScript 没有按预期调用下一个函数

javascript - 在jquery函数中设置变量

javascript - jQuery mouseenter 和 click 事件

javascript - 如何在有或没有使用插件的情况下使用 react.js 实现水平和垂直拖放?