获取可拖动元素的ID

时间:2016-02-17 02:03:16

标签: javascript html css

是否有一种方法可以在原生HTML5中拖放以获取具有attribut draggable="true"的元素的ID?

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

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

我需要div中的id('correctid')而不是图像。

感谢任何帮助。 :)

2 个答案:

答案 0 :(得分:6)

您可以通过访问event对象上的currentTarget property而不是event.target属性来获取对该元素的引用。

在您的情况下,currentTarget指的是被定位的最内层元素。

您需要ondragstart属性,因为它引用了事件侦听器附加到的元素(具有function drag(ev) { ev.dataTransfer.setData("text", ev.currentTarget.id); alert(ev.currentTarget.id); } 属性的元素)。

Updated Example

    <iframe src="https://batchgeo.com/map/50365d0f4d174d9c57c6b3a70217bfd2" frameborder="0" width="100%" height="550" style="border:1px solid #aaa;"></iframe>

答案 1 :(得分:0)

'ev.target'是一张图片。您可以使用parentNode:

来解决此问题
function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.parentNode.id);
    alert(ev.target.parentNode.id);
}