我有一个JointJs模型,其中包含许多元素和链接.我希望将大多数链接显示为元素之间的线,但是对于某些类型的链接,我希望它们对用户不可见且不可发现.我尝试了一些使我接近的其他事情,但是我想知道是否有人有更好或更完整的解决方案.
我尝试过的事情:
link.attr({'.connection': {opacity: 0.0}});
确实确实使用户看不到该链接,但是当用户的鼠标移到该链接上时,该链接仍会显示并可以编辑.
link.attr({'.connection': {display: non}});
这甚至没有将链接放置在选项板上,但确实成功地向用户隐藏了该链接,但是存在问题,因为模型不再跟踪该链接.
要获取更多背景信息,这些链接可以存在,但不能由用户创建或使用,因此我不希望将它们呈现给用户.但是,当我在调色板中查询所有链接时,我仍然希望这些链接存在.
感谢您提供的任何帮助或想法.
解决方法:
我拥有的最佳解决方案是隐藏链接的所有元素(在doc中,它们说明了这些元素).
我做了这个功能来做到这一点:
var attrObject = {
'.connection': {display:"none"}, //the link
'.marker-target': {display:"none"},
'text': {display:"none"}, //because I have a label
'rect': {display:"none"}, //second element of label
'.connection-wrap': {display:"none"},//a bigger link highliting on hover
'g.marker-vertices': {display:"none"}, //vertice of the link
'g.link-tools': {display: 'none'}, // the button to delete the link
'g.marker-arrowheads': {display:"none"} //the arrow to change link targets
};
link.attr(attrObject);