【问题标题】:Drag event for nodes in Cytoscape.jsCytoscape.js 中节点的拖动事件
【发布时间】:2015-11-17 17:35:40
【问题描述】:

我正在寻找一个在拖动节点时触发的事件。我认为 tapdrag 看起来像我想要的,但是当鼠标移动到节点上时,只有当鼠标按钮没有按下时才会触发 tapdrag(所以节点没有被拖动,基本上是鼠标悬停)。我尝试了其他几个事件,但似乎没有一个能满足我的需要。

如何在拖动节点时触发事件?具体来说,我想在拖动第一个节点时移动另一个节点,我宁愿在不使用复合节点的情况下这样做。

【问题讨论】:

    标签: cytoscape.js cytoscape


    【解决方案1】:

    使用drag 事件。

    所有事件都列出并记录在案:http://js.cytoscape.org/#events/collection-events

    drag 发生在第一个节点上时,您可以在第二个节点上手动.position()

    要设置节点放置规则,例如同步移动两个节点,请使用 automove 扩展: https://github.com/cytoscape/cytoscape.js-automove

    【讨论】:

    • 谢谢!这正是我想要的。
    • @maxkfranz,我正在尝试做同样的事情 - 在不使用复合节点的情况下拖动第一个节点时移动另一个节点。在常规节点的拖动事件中,我尝试了cy.nodes('myselector').trigger('drag'),但它只选择了我要添加到拖动集合中的节点,而不移动它。如何以编程方式使其与我想要的节点一起移动?
    • @ForOhFor 触发事件不会移动节点。您要么必须自己 .position() 另一个节点,要么使用更自动化的东西,例如 automove 扩展:github.com/cytoscape/cytoscape.js-automove
    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多