我在力定向图中为我的节点使用 html 标签。
Label:{
type: 'HTML'
},
onCreateLabel: function (domElement, node) {
domElement.innerHTML = node.name;
var style = domElement.style;
style.border = "1px solid red"
style.fontSize = "1.5em";
style.color = "#ddd";
},
onPlaceLabel: function (domElement, node) {
var style = domElement.style;
var left = parseInt(style.left);
var top = parseInt(style.top);
var w = domElement.offsetWidth;
style.left = (left - w / 2) + 'px';
style.top = (top + 30) + 'px';
style.display = '';
}
这看起来不错。但是,当我尝试在画布上移动节点时......我做不到。如果将鼠标放在节点上,左键单击,然后拖动,整个图形会移动 - 而不仅仅是选定的节点。html 放置在节点下方,但我仍然无法再在画布周围拖动任何特定节点。知道我该如何解决这个问题吗?
作为临时解决方法,我最终为扩展到节点上的标签创建了一个透明边框(边框顶部:150px 纯透明);边框使节点可单击。