Cytoscape.js检查双击节点

Los*_*zet 6 cytoscape.js

我有个问题.是否有可能将双击鼠标事件绑定到节点?
在文档中,只有"点击".

谢谢你的帮助!

fra*_*acz 8

您可以doubleTap像这样为Cytoscape 添加自定义事件:

var cy = $('#cy').cytoscape('get');
var tappedBefore;
var tappedTimeout;
cy.on('tap', function(event) {
  var tappedNow = event.cyTarget;
  if (tappedTimeout && tappedBefore) {
    clearTimeout(tappedTimeout);
  }
  if(tappedBefore === tappedNow) {
    tappedNow.trigger('doubleTap');
    tappedBefore = null;
  } else {
    tappedTimeout = setTimeout(function(){ tappedBefore = null; }, 300);
    tappedBefore = tappedNow;
  }
});
Run Code Online (Sandbox Code Playgroud)

然后,您可以订阅新活动.例如,如果需要检测节点上的双选项卡,请执行以下操作:

cy.on('doubleTap', 'node', function(event) { /* ... */ });
Run Code Online (Sandbox Code Playgroud)

不过,我理解@maxkfranz的观点,认为这不是适合移动设备的解决方案.


max*_*anz 3

cy.js 的核心要求之一是它应该在不同设备上同样良好且尽可能一致地工作。双击是 PC 时代的遗留物:它通常会导致糟糕的 UI,并且对于基于触摸的设备来说是完全陌生的。因此,我们目前不支持它。-M

  • 我认为 99% 使用 cy 的人无论如何都会在 PC 上使用它。 (2认同)