我有个问题。
是否可以将双击鼠标事件绑定(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/