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

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

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

它为我提供了准确的源端口,但是在知道它是我的源连接器之后如何在该特定端口上应用CSS?有办法吗?

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

我遇到了foreignobject,但不知道如何使用它?
谁能给它一些启示?

最佳答案

1)

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


其中,斜杠前的第一个参数的第一部分是指向端口圆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

关于javascript - jointjs中特定样式的端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22069466/

10-12 06:37