我有个问题。
是否有可能将双击鼠标事件绑定(bind)到节点?
在文档中,只有“点击”。
谢谢你的帮助!
最佳答案
您可以添加自定义 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;
}
});
然后,您可以订阅新事件。例如,如果您需要检测节点上的双标签,请执行以下操作:
cy.on('doubleTap', 'node', function(event) { /* ... */ });
尽管如此,我理解@maxkfranz 的观点,这不是移动友好的解决方案。
关于Cytoscape.js 检查双击节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610621/