在抓取/ mousedown事件上解锁节点,无法在Cytoscape.js中立即移动它们

时间:2015-10-27 10:13:16

标签: cytoscape.js

首先我的所有节点都被锁定。我想在拖动事件中解锁所有这些。我尝试了以下解决方案但没有成功:

cy.nodes().on('grab', function() {
    cy.nodes().unlock();    
});

我意识到锁定节点上不会发生'抓取'事件,所以我将其更改为'mousedown'而不是。现在,如果我点击一个节点并按住它,每个节点都会按预期解锁,但我无法立即移动我点击的节点,我必须释放按钮然后再次拖动节点。 有这个问题的解决方案吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

当锁定检查发生时,您不应该依赖于未记录的行为。请注意,检查发生时可能会因版本而异。考虑触摸设备支持。

相反,只有在需要锁定节点时才应锁定节点。如果您希望节点可以捕获,则默认情况下不应锁定它们。您应该仅在必要时使用锁定,可能在布局期间使用锁定,然后立即解锁。