为什么ondrop不工作?

时间:2015-08-18 23:09:01

标签: 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>

我把警报放在那里只是为了看看我是否能得到一些关于获取掉落事件的指示。我添加了ondragenter和ondragleave主要是为了看看我是否收到任何事件。我似乎得到的那些事件。有什么我省略了接收丢弃事件所必需的?还需要什么其他MAGIC?

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

1 个答案:

答案 0 :(得分:5)

这是唯一留下的魔力:

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

plunkr