在 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] =].现在,如果我单击并按住一个节点,每个节点都会按预期解锁,但是 我不能立即移动我单击的节点,我必须释放按钮然后再次拖动该节点。
这个问题有解决办法吗?
谢谢!
当发生锁定检查时,您不应该依赖未记录的行为。考虑到检查发生的时间可能会因版本而异。考虑触摸设备支持。
相反,您应该只在节点需要锁定时锁定它们。如果您希望节点可抓取,则默认情况下不应锁定它们。您应该只在必要时使用锁定,也许是在布局期间,然后立即解锁。
起初我所有的节点都被锁定。我想在拖动事件中解锁所有这些。我尝试了以下解决方案但没有成功:
cy.nodes().on('grab', function() {
cy.nodes().unlock();
});
我意识到'grab'事件不会发生在锁定的节点,所以我改为'mousedown'[=21] =].现在,如果我单击并按住一个节点,每个节点都会按预期解锁,但是 我不能立即移动我单击的节点,我必须释放按钮然后再次拖动该节点。 这个问题有解决办法吗? 谢谢!
当发生锁定检查时,您不应该依赖未记录的行为。考虑到检查发生的时间可能会因版本而异。考虑触摸设备支持。
相反,您应该只在节点需要锁定时锁定它们。如果您希望节点可抓取,则默认情况下不应锁定它们。您应该只在必要时使用锁定,也许是在布局期间,然后立即解锁。