jointjs中的样式特定端口

时间:2014-02-27 13:07:39

标签: javascript css3 jointjs

1)我正在使用JointJS图表库。我想在使用inPort时更改特定joint.shapes.devs的css。

将sourcePort链接到目标我正在使用

source: { id: source.id, selector: source.getPortSelector(sourcePort)}

它给了我准确的源端口,但是在知道它作为我的源连接器之后如何在这个特定端口上应用css?有办法吗?

2)如果标签的宽度比元素宽度长,我们可以在元素内自动填充/包装标签吗?我正在使用joint.shapes.devs.Atomic元素。

我遇到foreignobject,但不知道如何使用它? 任何人都可以对此有所了解吗?

1 个答案:

答案 0 :(得分:2)

1)

myShape.attr('[port="a"]/fill', 'blue')

其中slash之前的第一个参数的第一部分是指向端口圆SVG元素的CSS选择器,第二部分是要在该元素上设置的SVG属性,第二个参数是要为其设置的值属性。做同样事情的另一种语法是:

myShape.attr({ '[port="a"]': { fill: 'blue' } })

有关详细信息,请参阅attr()方法参考:http://jointjs.com/api#joint.dia.Element:attr

2)joint.shapes.devs.Atomic形状不会自动执行此操作。您必须创建自己的形状,并通过foreighObject或以编程方式在JavaScript中执行。作为使用foreignObject的参考,请参阅此文件中定义的joint.shapes.basic.TextBlock形状:https://github.com/DavidDurman/joint/blob/master/plugins/joint.shapes.basic.js