dragenter/dragleave 防止 drop 发射

Posted

技术标签:

【中文标题】dragenter/dragleave 防止 drop 发射【英文标题】:dragenter/dragleave prevents drop from firing 【发布时间】:2016-09-03 06:45:03 【问题描述】:

我的问题是,当我使用 dragenterdragleave 时,不再触发 drop 事件。当我将 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 事件。修复了上面的代码。

【问题讨论】:

【参考方案1】:

问题是,我必须禁用默认的 dragover 才能触发放置事件。我修复了问题中的代码。

【讨论】:

以上是关于dragenter/dragleave 防止 drop 发射的主要内容,如果未能解决你的问题,请参考以下文章

wpf dragenter/dragleave 问题

嵌套的 Ember.View dragEnter dragLeave 调用顺序错误?

拖动基本实现

如果拖动目标被其他图形遮挡,WPF 拖放事件不会通过

Keepalived+LVS/DR服务器 基础搭建

增加内容大小时如何防止内容偏移