【发布时间】:2017-04-07 09:59:02
【问题描述】:
我在单页应用程序中使用 html5 拖动事件。
目前,我正在收听dragleave 和dragenter 事件以在元素上设置正确的类。
但是,当两个有效的目标元素(A 和 B)彼此相邻时,我们将一个元素通过 A 拖到 B 中,事件按以下顺序触发。
+--------------+-------------+
| | |
+-------+ | A | B |
| | | | |
| Elem +------------------------------------> |
| | | | |
+-------+ | | |
+--------------+-------------+
-
dragenter的阿 -
B的
dragenter -
dragleave的阿
事件的预期顺序是,
-
阿
dragenter -
dragleave的阿 -
B的
dragenter
我假设这将是订单,因为在进入 B 之前,该项目必须离开 A。我在这里错过了什么吗?在dragleave 之前解雇dragenter 是否有理由?有没有办法改变这种行为?
我有一个 JSFiddle here。
代码本身非常简单,只需监听 dragenter 和 dragover。
dragenter: function(e) {
console.log("basket dragenter");
// logic here
},
dragleave: function(e) {
console.log("basket dragleave");
// logic here
},
【问题讨论】:
标签: javascript html drag-and-drop