问题:我需要一种使用ng2-dragula放置行为来实现以下操作的方法。
我正在尝试构建类似于 iOS 和 Android 设备上的应用程序启动器的东西。
我想将一个项目 A拖放到另一个现有项目 B的顶部。
- 当我将它放在另一个项目 B的顶部时,我想通过创建一个包含这两个项目的文件夹项目来对此做出反应(这将是我将在 angular/typescript 逻辑中实现的功能)。
在当前的 ng2-dragula 库中,当我将项目 A拖放到 项目 B上时,它会在 onDrop 事件中将项目 A的详细信息作为 el 提供给我,但是它不会告诉我如何找到项目 B。
我正在努力弄清楚如何找到项目 B。意思是,如何确定项目 A被丢弃在哪个元素上?
演示:我创建了一个演示 plunker 来展示 Dragula 设置和练习。
private onDrop(args) {
let [el, target, source] = args;
// do something else
console.log(`ondrop element: ${el.innerText.trim()}`);
console.log(`ondrop target container: ${target.innerText.trim()}`);
console.log(`ondrop source container: ${source.innerText.trim()}`);
}
private onDrag(args) {
let [el, source] = args;
// do something else
console.log(`ondrag element: ${el.innerText.trim()}`);
console.log(`ondrag source container: ${source.innerText.trim()}`);
}
https://plnkr.co/edit/xXFWfS0Ae8fts2UL94mo
我尝试在元素上附加鼠标悬停事件,后来在 dragula onDrop 事件中找到它,但它没有捕获元素 B 的详细信息(或任何被拖放的项目 A)。
你能建议我如何解决这个问题吗?
非常感谢您的指导!