我想与cytoscape.js一起使用qtip来显示使用cytoscape.js创建的图中鼠标悬停事件中节点中的工具提示。我已将以下代码放在ready:function()中,如下所示:
cy.on('mouseover','node',function (event) {
var eid = $(this).data('id');
$(this).qtip({
overwrite: false,
content: eid,
position: {
my: 'right center',
at: 'left center',
target: $(this)
},
show: {
event: event.type,
ready: true
},
hide: {
fixed: true
}
}, event);
});
但是,鼠标悬停事件中的节点中没有显示工具提示..请帮帮我。
答案 0 :(得分:0)
为qtip提供正确的坐标以与节点悬停交互。可以通过cyPosition希望这有助于:
cy.on('mousemove','node', function(event){
var target = event.cyTarget;
var sourceName = target.data("source");
var targetName = target.data("target");
var x=event.cyPosition.x;
var y=event.cyPosition.y;
$("#box").qtip({
content: {
title:targetName,
text: sourceName
},
show: {
delay: 0,
event: false,
ready: true,
effect:false
},
position: {
my: 'bottom center',
at: 'top center',
target: [x+3, y+3],
adjust: {
x: 7,
y:7
}
},
hide: {
fixed: true,
event: false,
inactive: 2000
},
style: {
classes: 'ui-tooltip-shadow ui-tooltip-youtube',
tip:
{
corner: true,
width: 24, // resize the caret
height: 24 // resize the caret
}
}
}
});
})
您也没有指定事件目标。并且不要忘记在处理画布时使用mousemove。
答案 1 :(得分:0)
这是我今天发现的最佳解决方案。只需在准备好的函数中包含此代码,除了qtip函数和css,包括https://github.com/cytoscape/cytoscape.js-qtip,它将在单击节点或边时显示提示
cy.elements().qtip({
content: function(){ return 'Example qTip on ele ' + this.id() },
position: {
my: 'top center',
at: 'bottom center'
},
style: {
classes: 'qtip-bootstrap',
tip: {
width: 16,
height: 8
}
}
});
// call on core
cy.qtip({
content: 'Example qTip on core bg',
position: {
my: 'top center',
at: 'bottom center'
},
show: {
cyBgOnly: true
},
style: {
classes: 'qtip-bootstrap',
tip: {
width: 16,
height: 8
}
}
});