退出`dragenter`和`dragover`事件(html5)

问题描述 投票:0回答:1

我有一组可拖动的“内容”元素,以及一个根级“反馈” UI元素,该元素显示在其上方,以在拖放过程中提供反馈。

问题是,在拖动操作期间,将鼠标悬停在“ feedback”元素上会导致在该元素而不是基础内容元素上触发dragenterdragover事件。它有效地“阻止”了Dragenter事件触发正确的元素。

元素是否可以取消或“退出”dragenter/ dragover事件?我可以显示反馈元素在下面的内容,但我不想这样做。

jsFiddle: http://jsfiddle.net/jact8/1/

我正在使用HTML拖放API,而不是jQuery或类似的东西。

html dom drag-and-drop dom-events
1个回答
1
投票

我创建了一个新的fiddle。我认为您想在列的处理程序中使用currentTarget而不是target,以确保接收到的事件是来自将侦听器添加到(列)的元素,而不是它源自的元素(斜体) 。请参见说明here(适用于ActionScript,但我认为它也适用于JavaScript)。

[我假设insertionCaret元素上的侦听器仅用于调试目的,并已将其删除(请让我知道我是否在这里弄错了)。如果您不收听,就不会收到该活动,因此无需选择退出!

© www.soinside.com 2019 - 2024. All rights reserved.