动态创建一个新节点 之后基于这个节点生成一个新的节点 当拖拽第一个节点的时候希望第二个节点跟着一起动
我自己绑定了
new_ne.addEventListener ( " mousedrag " , function( e ){
a.setLocation( subnet.positionX+ne.positionX+30, subnet.positionY+ne.positionY-10);
})
结果不生效不知道为什么 麻烦大神指点 标注一下
let a = new JTopo.CircleNode(ne.name);
这是第二个节点
a.setLocation(ne.positionX+30, ne.positionY-10);
这个是他的位置
参考GPT和自己的思路:
根据您提供的代码片段,我发现您在第一个节点的 mousedrag 事件中将第二个节点的位置设置为 subnet.positionX+ne.positionX+30
和 subnet.positionY+ne.positionY-10
,但是第二个节点的位置并没有绑定到第一个节点上,所以拖拽第一个节点时第二个节点不会跟着一起动。
您可以尝试在创建第二个节点时设置其父节点为第一个节点,这样就能保证两个节点绑定在一起,再在第一个节点的 mousedrag 事件中对第二个节点的位置进行设置。具体代码如下:
let a = new JTopo.CircleNode(ne.name);
a.setParent(ne); // 将第二个节点的父节点设为第一个节点
new_ne.addEventListener("mousedrag", function(e) {
a.setLocation(ne.x + 30, ne.y - 10); // 根据第一个节点的位置设置第二个节点的位置
});
希望我的解答对您有帮助!