Javascript 为什么ondrop不起作用?

Javascript 为什么ondrop不起作用?,javascript,events,drag-and-drop,Javascript,Events,Drag And Drop,我试图使拖放工作正常,但我正在将一个函数连接到“ondrop”事件,但该函数从未被调用 这是一个扑克牌: 这是一个简单的布线示例: <script> var holder = document.getElementById('holder'); holder.ondragenter = function (e) { this.className = 'nicenice lvl-over'; return false; }; holder.ondragleave

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

这是一个扑克牌:

这是一个简单的布线示例:

<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>

var holder=document.getElementById('holder');
holder.ondragenter=函数(e){
this.className='niceneice lvl over';
返回false;
};
holder.ONDRAGLEVE=函数(){
this.className='niceneice';
返回false;
};
holder.ondrop=功能(e){
e、 预防默认值();
日志(“获取丢弃事件”);
警报(“在此处放置”);
};
我把警报放在那里,只是想看看我是否能得到一些关于丢弃事件的指示。我添加了ondragenter和ondragleave主要是为了看看我是否得到了任何事件。那些事件我似乎得到了。我遗漏了接收丢弃事件所必需的哪些内容?还需要什么魔法


我的目标是将其与AngularJS连接起来,但我需要简化,以便在此提出问题。

这是唯一剩下的魔法:

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

“ondragover”真奇怪。谢谢,我要参加这个活动了。顺便说一句,您在p标记上设置了一个“draggable”属性,但是,我似乎无法实际拖动显示“draggme!”的东西,我应该能够拖动它吗?看来我应该。我可以用Chrome拖拽它。我不能在Mozilla中拖动它。非标准?@AgilePro哦,有趣的是,我实际上是从中获取的,尽管我试图养成先检查mdn的习惯。看起来“可拖动”仍处于试验阶段。2019年仍有此问题,非常奇怪。非常感谢。这仍然是一个问题,在chrome中,我仍然没有在退出时触发任何事件@在firefox中,您必须设置
event.dataTransfer.setData
方法。谢谢,这节省了我的时间