dragenter / dragleave可以防止射击

时间:2016-05-08 16:24:46

标签: javascript jquery drag-and-drop

我的问题是,当我使用 dragenter dragleave 时, drop -event不再被触发。当我将 dragenter 更改为 dragover 时,它可以正常工作。但我想通过使用 drageneter 减少触发事件。有什么想法吗?

$("#drop")
  .on("drop", function(event) {
    $("#debug").append("drop\n")
   })
  .on("dragenter", function (event) {
    $("#debug").append("dragover\n")
   })
  .on("dragleave", function (event) {
    $("#debug").append("dragleave\n")
   })

  .on("dragover", function (event) {
    event.preventDefault();  
    event.stopPropagation();
   });

我还尝试使用event.preventDefault()event.stopPropagation()取消默认活动,但它没有改变任何内容。

以下是简化代码:https://jsfiddle.net/7oun2gza/

修改:我自己找到了解决方案。我必须禁用 dragover 中的默认事件才能拍摄 drop -event。修正了上面的代码。

1 个答案:

答案 0 :(得分:0)

问题是,我必须禁用dragover的默认值才能触发drop-event。我在我的问题中修改了代码。