是否有一种方法可以在原生HTML5中拖放以获取具有attribut draggable="true"
的元素的ID?
起初我认为从可拖动容器中获取id是标准的,但实际上它始终是你开始拖动的子元素的id,这非常烦人。
这是一个小提琴: https://jsfiddle.net/chickberger/2ujhodeh/2/
我需要div中的id('correctid')而不是图像。
感谢任何帮助。 :)
答案 0 :(得分:6)
您可以通过访问event
对象上的currentTarget
property而不是event.target
属性来获取对该元素的引用。
在您的情况下,currentTarget
指的是被定位的最内层元素。
您需要ondragstart
属性,因为它引用了事件侦听器附加到的元素(具有function drag(ev) {
ev.dataTransfer.setData("text", ev.currentTarget.id);
alert(ev.currentTarget.id);
}
属性的元素)。
<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);
}