获取可拖动元素的 ID

Get ID of draggable element

本文关键字:ID 元素 拖动 获取      更新时间:2023-09-26

有没有办法在本机HTML5拖放中获取带有属性draggable="true"的元素的id?

起初,我认为从可拖动容器中获取id是标准的,但实际上它始终是您开始拖动的子元素中的id,这非常烦人。

这是一个小提琴:https://jsfiddle.net/chickberger/2ujhodeh/2/

我需要来自div("correctid"(的 id 而不是图像。

任何帮助,不胜感激。 :)

可以通过

访问 currentTarget 属性而不是 event 对象上的 target 属性来获取对该元素的引用。

在你的例子中,event.target指的是被瞄准的最里面的元素。

您需要 currentTarget 属性,因为它引用事件侦听器附加到的元素(该元素将是具有 ondragstart 属性的元素(。

更新的示例

function drag(ev) {
    ev.dataTransfer.setData("text", ev.currentTarget.id);
    alert(ev.currentTarget.id);
}

'ev.target' 是一个图像。您可以使用 parentNode 解决此问题:

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.parentNode.id);
    alert(ev.target.parentNode.id);
}