【发布时间】:2015-11-17 17:35:40
【问题描述】:
我正在寻找一个在拖动节点时触发的事件。我认为 tapdrag 看起来像我想要的,但是当鼠标移动到节点上时,只有当鼠标按钮没有按下时才会触发 tapdrag(所以节点没有被拖动,基本上是鼠标悬停)。我尝试了其他几个事件,但似乎没有一个能满足我的需要。
如何在拖动节点时触发事件?具体来说,我想在拖动第一个节点时移动另一个节点,我宁愿在不使用复合节点的情况下这样做。
【问题讨论】:
我正在寻找一个在拖动节点时触发的事件。我认为 tapdrag 看起来像我想要的,但是当鼠标移动到节点上时,只有当鼠标按钮没有按下时才会触发 tapdrag(所以节点没有被拖动,基本上是鼠标悬停)。我尝试了其他几个事件,但似乎没有一个能满足我的需要。
如何在拖动节点时触发事件?具体来说,我想在拖动第一个节点时移动另一个节点,我宁愿在不使用复合节点的情况下这样做。
【问题讨论】:
使用drag 事件。
所有事件都列出并记录在案:http://js.cytoscape.org/#events/collection-events
当drag 发生在第一个节点上时,您可以在第二个节点上手动.position()。
要设置节点放置规则,例如同步移动两个节点,请使用 automove 扩展: https://github.com/cytoscape/cytoscape.js-automove
【讨论】:
cy.nodes('myselector').trigger('drag'),但它只选择了我要添加到拖动集合中的节点,而不移动它。如何以编程方式使其与我想要的节点一起移动?
.position() 另一个节点,要么使用更自动化的东西,例如 automove 扩展:github.com/cytoscape/cytoscape.js-automove