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

Unlock nodes on grab/mousedown event, can not move them immediately in Cytoscape.js

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

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

我意识到'grab'事件不会发生在锁定的节点,所以我改为'mousedown'[=21] =].现在,如果我单击并按住一个节点,每个节点都会按预期解锁,但是 我不能立即移动我单击的节点,我必须释放按钮然后再次拖动该节点。 这个问题有解决办法吗? 谢谢!

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

相反,您应该只在节点需要锁定时锁定它们。如果您希望节点可抓取,则默认情况下不应锁定它们。您应该只在必要时使用锁定,也许是在布局期间,然后立即解锁。