我是 jQuery 的新手,一直在尝试获取拖动的图像元素 ID 以附加到放置目标而不是图像元素本身或放置目标 ID。我正在使用 html5 原生 DnD。到目前为止,我可以通过使用拖动函数中的数据传输方法和放置中的 getdata 函数发送其 id 来获取要追加的元素本身。每当我尝试从放置中调用该 id 时,它都会获取放置目标 id 而不是拖动的元素。
任何帮助将不胜感激,因为我已经在网上进行了彻底搜索,除了找到更多获取放置区域目标 ID 的方法外,什么也没找到。这是我当前代码小提琴的片段:
function allowDrop(ev) {
ev.preventDefault();
}
function dragStart(ev) {
ev.dataTransfer.setData('Text/html', ev.target.id); // sends the dragged images data.
//alert(ev.target.id); // alerts the correct id of the dragged image.
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text/html");//retrieves dropped images data.
ev.target.appendChild(document.getElementById(data));//this displays the dropped image.
//alert(ev.target.id); // alerts the id of the drop target(Want to get the dropped images id.)
//$("#mybillets").append("<span>"+ev.target.id+" </span>"); //appends the drop targets id(Want to append the dropped images id.)
}
原文由 Jason 发布,翻译遵循 CC BY-SA 4.0 许可协议
在
drop
方法看起来像ev
是事件对象,所以ev.target
将引用项目被放置的元素。所以使用
ev.target.id
来引用放置目标 id。