如何知道多选中节点选择的索引?

How to know the index of a node selection in a multiple selection?

假设您在 cytoscapejs 中启用了 box selection 或者您做了类似的事情:

cy.nodes().select();

当用户单击按钮时。因此,用户可以一次 select 多个节点。

在节点上为 select 事件注册处理程序时:

cy.nodes().on('select', function(evt){
  ...
}

有什么方法可以知道节点的 selection 是否是由于:

  1. 单个 selection 事件(即用户刚刚单击了单个节点)?
  2. 一个多重selection事件(以及当前节点在这个多重selection中的哪个index)

谢谢!

您可以跟踪进入的事件以确定选择的类型(即 taptapstart-tapdrag-tapend / tapbox)。如果需要,您可以保留一个在事件回调外部声明的计数器来跟踪元素索引——尽管这些索引实际上没有任何意义。