我有个问题。
是否可以将双击鼠标事件绑定(bind)到节点?
在文档中,只有“单击”。

谢谢你的帮助!

最佳答案

您可以为Cytoscape添加一个自定义doubleTap事件,如下所示:

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;
  }
});

然后,您可以订阅新事件。例如,如果您需要检测节点上的双标签,请执行以下操作:
cy.on('doubleTap', 'node', function(event) { /* ... */ });

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

关于Cytoscape.js检查双击节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18610621/

10-10 23:13